【学习笔记】数据结构与算法学习之时间复杂度

时间复杂度分为: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;    
}

猜你喜欢

转载自blog.csdn.net/h2809871142/article/details/88650279
今日推荐