时间复杂度分析
- 只关注循环执行次数最多的一段代码
- 总复杂度等于最高阶项的复杂度
- 嵌套代码的复杂度等于嵌套内外代码复杂度的乘积
推导O阶
- 用常数1取代运行时间中的所有加法常数。
- 在修改后的运行次数函数中,只保留最高阶项。
- 如果最高阶项存在且不是1,则去除与这个项相乘的常数。得到的结果就是大O阶。
常见时间复杂度
O(1) | 常数阶 |
O(n) | 线性阶 |
OI(n2) | 平方阶 |
O(logn) | 对数阶 |
O(nlogn) | 线性对数阶 |
O(n3) | 立方阶 |
O(2n) | 指数阶 |
O(n!) | 阶乘阶 |
从小到大依次是