33问答网
所有问题
分析下列程序段的时间复杂度是______。 i=1: while(i<=n) i=i*2;
A.O(n)
B.O(n2)
C.O(log2n)
D.O(2*n)
举报该问题
推荐答案 2023-12-28
【答案】:C
循环体里面是i=i*2,即每循环一次i值增加一倍,所以执行次数与n之间是以2为底的对数关系,故时间复杂度为O(log2n)。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://33.wendadaohang.com/zd/cWhBh0WW4W0BhhhPPd.html
相似回答
下面
程序段的时间复杂度
为___。
(n
>
1)
答:
i=1; while(i<=n) i=i*2的时间复杂度O(log2n)
。整段代码语句,中循环体只有一个while(i<=n),执行的次数是:i = 1,i = 1*2=2,判断2是否小于等于n,是则继续循环,否则跳出循环。i =2,i = 2*2=4,判断4是否小于等于n,是则继续循环,否则跳出循环。i =4 ,i = 4*...
写出
下列
算法
的时间复杂度:
i=1;
while(i
<
=n)
i=i*2;
答:
由于每次
i
乘以2,因此经过log n次循环就结束了。事件
复杂度
为O(log
n)
,其中底数是2.希望对你有帮助~
i=1;
while(i
<
=n)
i=i*2
这个算法
的时间复杂度
怎么算
答:
一般情况下,算法的基本操作重复执行的次数是模块n的某
一
个函数f
(n)
,因此,算法
的时间复杂度
记做:T (n)
=
0 (f (n) )。随着模块n的增大,算法执行的时间的增长率和f (n)的增长率成正比,所以f (n)越小,算法的时间复杂度越低,算法的效率越高。在计算时间复杂度的时候,先找出算法的基...
大家正在搜
下列程序段的时间复杂度是
写出下列程序段的时间复杂度
下列程序的时间复杂度为
以下程序段的时间复杂度为
下面程序的时间复杂度是
程序片段的时间复杂度
以下程序时间复杂度
程序段时间复杂度
下列代码的时间复杂度