时间复杂度分为:O(1)<O(logn)<O(n)<O(nlogn)<O(n^2)<O(n^3)
具体计算方法:
1、求得算法使用n的多项式
2、取最高次项
3、将系数取为1
如:
for(i = 0;i < n;i++){
for(j = i;j < n;j++){
do_Some_Thing()
}
}
1、其多项式应为:n+(n-1)+(n-2)+(n-3)+~~+1 = n*(n + 1)/2 = n^2/2 + n/2
2、其最高次项为 n^2/2
3、去掉系数为 n^2 故时间复杂度为:O(n^2)
另:O(log2n)具体实现为
i = 1;
while(i < n){
i *= 2;
}