![809fe0d59ba27ecc840411d607831517.png](https://img-blog.csdnimg.cn/img_convert/809fe0d59ba27ecc840411d607831517.png)
分析下面程序段的时间复杂度。
for (i=1; i<=n; i++)
for (j=1; j<=i; j++)
for (k=1; k<=j; k++)
x++;
第一个语句执行n+1次
第二个语句执行n(n+3)/2次
第三条语句执行共执行次数为这四个语句执行次数之和,其时间复杂度为O(n3)。共执行次数为这四个语句执行次数之和,其时间复杂度为O(n3)。共执行次数为这四个语句执行次数之和,其时间复杂度为O(n3)。
第四个语句执行
共执行次数为这四个语句执行次数之和,其时间复杂度为O(n3)。
![5d9043d0c4049633ad1a522411a2ecab.png](https://img-blog.csdnimg.cn/img_convert/5d9043d0c4049633ad1a522411a2ecab.png)
分析下面程序段的时间复杂度。
sum=0;
① for (k=1; k<=n; k*=2)
② for (j=1; j<=k; j++)
③ sum++;
解答:
对于①有:k=log2n;
对于②有:2n+
对于③有:2n-1
则该程序段的时间复杂度为O(n)
![2e8734c8a0e13363874a6bc918ca8bc9.png](https://img-blog.csdnimg.cn/img_convert/2e8734c8a0e13363874a6bc918ca8bc9.png)