00问答网
所有问题
i=i+1; while(i<=n) i=i*2;分析一下这段程序的时间复杂度 谢谢
如题所述
举报该问题
推荐答案 2012-01-02
循环的执行次数:<[lnn-ln(i+1)]/ln2,这也是这段程序的时间复杂度。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://00.wendadaohang.com/zd/reDnTnTZZ.html
其他回答
第1个回答 2012-01-02
就一层循环 所以 为 n
相似回答
分析
下列
程序段的时间复杂度
是___。 i=
1
:
while(i
<
=n)
i=i*2;
答:
【答案】:C 循环体里面是i=i*2,即每循环一次i值增加一倍,所以执行次数与n之间是以2为底的对数关系,故
时间复杂度
为O(log2n)。
i=1;
while(i
<
=n)
i=i*2
这个算法
的时间复杂度
怎么算
答:
一般情况下,算法的基本操作重复执行的次数是模块n的某一个函数f
(n)
,因此,算法
的时间复杂度
记做:T (n)
=
0 (f (n) )。随着模块n的增大,算法执行的时间的增长率和f (n)的增长率成正比,所以f (n)越小,算法的时间复杂度越低,算法的效率越高。在计算时间复杂度的时候,先找出算法的基...
while
循环语句执行多少次
的时间复杂度
是O(log
n)
?
答:
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*...
下面程序段的时间复杂度
为___。
(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*...
大家正在搜
while(n++<=2)
while和when的区别
while(i++<5)
while循环1加到n的和
用do while求n的阶乘
while(n)
while(n--)是什么意思
int n=5,a[n]
while(!a)
相关问题
程序段i=1;while(i<=n)i=i*2;的时间的复杂...
下面程序段的时间复杂度是 ? i=1; while(i<=n...
i=1; while(i<=n) i=i*2 这个算法的时间...
i=1; while(i<=n) i=i*2; 问时间复杂度...
下面程序段的时间复杂度是 ? i=1; while(i<...
下面程序段的时间复杂度是 i=s=0; while(s<n)...
程序段“for(i=1; i<=n;) i=i*2;”的时间...
分析下列算法的时间复杂度 void f(int n) { i...