算法概述
算法是指在解决问题时,按照某种机械算法步骤一定可以得到问题结果的处理过程;
算法的质量指标:正确性、可读性、健壮性、高效性;
对算法的评价有两个方面:
- 算法的维护的方便性
- 算法在实现时占有机器资源的多少,即算法的运行时间和空间效率
算法的执行时间=原操作的执行次数*原操作
算法的时间效率是问题规模的函数,即算法的执行时间与规模n有关。如随着n的增长,算法执行时间的增长率和f(n)的增长率相同,则记为T(n)=O(f(n)) T(n)称为算法的渐进时间复杂度,简称时间复杂度,O是数量级符号,f(n)称为算法的频度函数即原操作的执行次数,O(f(n))也称为复杂度函数;
时间复杂度的估算(重点!)
时间复杂的类型:
- O(1) 常数级
- O(logn) 对数级
- O(n) 线性级
- O(nlogn) 线性对数级
- O() 多项式级
- O() 指数级
- O(n!) 阶乘级
其中指数级和阶乘级的算法时间复杂度较高在实际应用中不建议使用。
在算法中若两个部