常见的算法时间复杂度
- 常数阶
- 对数阶
- 线性阶
- 线性对数阶
- 平方阶
- 立方阶
- k 次方阶
- 指数阶
1. 常数阶
无论代码执行了多少行,只要是没有循环等复杂结构,那这个代码的时间复杂度就是 O(1)
无论这类代码有多长,都可以用 O(1) 来表示它的时间复杂度
2. 对数阶
循环每次都 i * 2 增长, 即 2^x = n
如果 n = 1024, 这段代码就是执行了 log2 (1024) 次
3. 线性阶
这段代码, for 循环里的代码会执行 n 遍, 因此它消耗的时间是随着 n 的变化而变化的, 因此这类代码都可以用 O(n) 来表示它的时间复杂度.
4. 线性对数阶
将时间复杂度为 log_2(n) 的代码循环 N 遍
5. 平方阶
立方阶、k次方阶 类似。