三个算法复杂度:O(1),O(n),O(n^2)。
分析算法的复杂度:
- 用常数1取代运行时间中的所有加法常数
- 在修改后的运行次数函数中,只保留最高阶项
- 如果最高阶项存在且不是1,侧去处与这个项相乘的常数
- 得到的最后结果就是大O阶
T(N)是关于问题规模你的函数
函数调用的时间复杂度分析:
|
例子 |
时间复杂度 |
对应名词 |
|
2323345 |
O(1) |
常数阶 |
|
3n+4 |
O(n) |
线性阶 |
|
3n^2+4n+5 |
O(n^2) |
平方阶 |
|
3log(2)n+4 |
O(logn) |
对数阶 |
|
2n+3nlog(2)n+14 |
O(nlogn) |
nlogn阶 |
|
n^3+2n^2+4n+6 |
O(n^3) |
立方阶 |
|
2^n |
O(2^n) |
指数阶 |
常用的时间复杂度所耗费的时间从小到大依次是:
O(1) < O(logn) < (n) < O(nlogn) < O(n^2) < O(n^3) < O(2^n) < O(n!) < O(n^n) ;
空间复杂度:
计算公式:S(n) = O(f(n)) ; n为问题规模,f(n)为语句关于n所占用存储空间的函数。

被折叠的 条评论
为什么被折叠?



