时间复杂度 BigO
[大O表示法] 算法的渐进时间复杂度
T(n) = O(f(n))
T(n) -- 时间的渐进复杂度
f(n) -- 代码执行的次数
O -- 正比例关系
例 1:
for(int i=0; i<n;i++){
x++;
}
int i=0 | -- 执行 1 次 |
---|---|
i<n | -- 执行n次 |
i++ | ---执行n次 |
x++ | --- 执行n次 |
共计 | 1+3n 次 |
BigO 是计算n接近于无限大的情况下的比例
所以 : O(1+3N)=O(N)
例 2 :
for(int i=0; i<n; i++){
for(int j=0; j<n; j++){
x++;
}
}
复杂度:O(n^2)
例 3 :
for(int i=0; i<n;i++){
x++;
}
for(int i=0; i<n; i++){
for(int j=0; j<n; j++){
x++;
}
}
n接近于无限大的情况下:
O(n+n^2) = O(n^2)
网友评论