1.4 算法和算法分析(4)
算法时间复杂度
- 最坏时间复杂度
- 平均时间复杂度
- 最好时间复杂度
- 一般总是考虑在最坏情况下的时间复杂度,以保证算法的运行时间不会比它更长。
对于复杂的算法,可以将它分成几个容易估算的部分,然后利用大 O 加法法则和乘法法则,计算算法的时间复杂度。
时间复杂度 T(n) 按数量级递增顺序为:
| 常数阶 | 对数阶 | 线性阶 | 线性对数阶 | 平方阶 | 立方阶 | ··· | K次方阶 | 指数阶 |
|---|---|---|---|---|---|---|---|---|
| $O(1)$ | $O(\log_2n)$ | $O(n)$ | $O(n\log_2n)$ | $O(n^2)$ | $O(n^3)$ | $O(n^k)$ | $O(2^n)$ |
渐进空间复杂度
- 空间复杂度: 算法所需存储空间的度量,记作: $S(n)=O(f(n))$ ,其中 n 为问题的规模(或大小)
- 算法要占据的空间
- 算法本身要占据的空间,输入/输出
- 算法要使用的辅助空间
作者
3049874370@qq.com
