第一题
1、确定划线语句的执行次数,计算它们的渐近时间复杂度。
i=1; k=0;
do {
k=k+10*i;
i++;
} while(i<=n)
答案
执行的次数为n
算法复杂度为O(n)
第二题
2、确定划线语句的执行次数,计算它们的渐近时间复杂度。
i=1; x=0;
do {
x++;
i=3*i;
} while( i<n);
答案
执行次数:

复杂度为:

第三题
3、确定划线语句的执行次数,计算它们的渐近时间复杂度。
i=1; x=0;
for(i=0;i<n;i++)
for( j=0;j<n;j++)
a[i][j]=0;
答案
执行的次数是n^2
时间复杂度是O(n^2)
第四题
确定划线语句的执行次数,计算它们的渐近时间复杂度。
y=0;
while(n>=y*y)
y++;
答案
执行次数:执行√n+1向上取整次
渐近时间复杂度:O(√n)
这篇博客主要解答了四个关于时间复杂度的问题,涉及算法执行次数的计算及渐近时间复杂度的评估。内容包括:第一题中算法的时间复杂度为O(n);第二题的复杂度未给出;第三题的执行次数为n^2,时间复杂度为O(n^2);第四题的执行次数为向上取整的√n次,时间复杂度为O(√n)。
1089

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



