11智能在线
新记
i=1; while(i<=n) i=i*3; 谁能告诉我这个的时间复杂度是多少?怎么得来的?
如题所述
举报该文章
相关建议 2018-01-06
i是这样变化的:1, 3, 9, 27, ...
如果用i(x)表示第x次循环时i的值,则 i(x) = 3^x , x初始值为0。
循环在 i <= n 的时候停止,即 i(x) = 3 ^ x <= n;
=> x<= log3(n)
即循环结束时,最多进行了log3(n)次运算。
按照大O表示法定义,它的复杂度为 O(log3(n)), 即 O(lgn/lg3)
温馨提示:内容为网友见解,仅供参考
当前网址:
https://11.t2y.org/zz/42782pvsqfm8ssqpss.html
其他看法
无其他回答
相似回答
大家正在搜
相关问题
i=1; while(i<=n) i=i*3; 谁能告诉我这...
程序段i=1;while(i<=n)i=i*2;的时间的复杂...
i=1; while(i<=n) i=i*2 这个算法的时间...
关于时间复杂度 i=1; while(i<n) { s=s+...
下面程序段的时间复杂度是 ? i=1; while(i<=n...
i=1; while (i<=n) i=i*2 时间复杂度
while(i<=n&&j<=n){i=i+1;j=j+1;...
for(i=1;i<=n;i++){i*=3}的时间复杂度是...