算法的定义
算法(Algorithm)是一个有穷规则(或语句,指令)的有序集合。它确定了解决某一问题的一个运算序列。对于问题的初始输入,通过算法有限步的运行,产生一个或多个输出
算法的特性
- 有穷性--------------------------------算法的执行步骤(或规则)是有限的
- 确定性--------------------------------每一个计算步骤无二义性
- 可行性--------------------------------每个计算步骤能够在有限的时间内完成
- 输入-----------------------------------算法有零个或多个外部输入
- 输出-----------------------------------算法有一个或多个输出
算法分析
解决一个问题可以有多种不同的算法,在算法正确的前提下,评价算法好坏的方法:
- 消耗的时间多少
- 消耗的存储空间的多少
- 容易理解,容易编程和调试,容易维护。时间复杂度
- 问题的规模:输入数据量的大小,用n表示
- 算法的时间复杂度:算法消耗时间,他是问题的规模函数T(n)
语句的频度 Frequent count
语句的频度定义为可执行语句在算法或程序中重复执行的次数。若某句执行一次的时间为t,执行次数为f,则该语句所耗时间估计为t*f。
算法的时间复杂度Time Complexity
算法的时间复杂的定义为算法中可执行语句的频率之和,记作T(n).T(n)是算法所需时间的一种估计,其中n为问题的规模,体积或大小
算法效率的度量
算法效率-----用依据该算法编制的程序在计算机上执行所消耗的时间来度量。
算法的时间是由控制结构和原操作的决定的