时间复杂度O(log<2>N)不懂,请指教.
分析以下时间复杂度
i=1;
while(i<=n)
i=i*2;
其中设i=i*2;这句的频度为f(n)则有:
2的f(n)次方<=n
可得f(n)<=log<2>N.我对"2的f(n)次方<=n"怎么也无法理解.请问2的f(n)次方是怎么得来的????如果换成i=i*3呢?
本人愚笨.请指点.
[解决办法]
从1开始乘,每次乘二,乘到N需要几次呢?因为2^(log<2>N)=N,所以循环体内语句执行了log<2>N次。
[解决办法]
有个笔误
f(n)=int(log(n)/log(2)) <=log(n)/log(2)
== >
f(n)<=log(n)/log(2)