-
算法的定义:为解决某一特定问题的具体步骤的描述,是指令的有限序列
-
算法和程序的概念是不同的
-
算法的四个评判标准:
- 正确性
- 可读性
- 健壮性
- 高效率和低存储
-
算法的时间复杂度分析
比较分析算法的时间复杂度时,我们要忽略一些非决定性因素的干扰,假设计算机执行任一语句的时间相同,那么时间复杂度就和总的语句执行的次数成正比
但是每次都计算算法执行了多少次,太麻烦了,因此引入了渐进性分析- 渐进性分析:当 n (输入到算法中的数据量) 足够大时,运算次数的低阶部分对于工作量的估计是可以忽略的
- 渐进性分析中的符号:
- O 渐进上界
f(n) = O(n) 表示 f(n) 算法的时间复杂度 一定是 小于等于 n 的
列:某个算法的 计算量函数为 f(n) = 10n + 10,使用渐进性分析,去除低项式和最高次的常数,可以得到 n,可以得到 f(n) = O(n), 代表 该算法的时间复杂度 小于等于 n - 还有其他的符号,不一一列举
- O 渐进上界