有人可以帮我找到这个循环的紧密运行时绑定:
for(c4=0, i=1; i<=n; i = 2*i)
for(j=1; j<= i; j++)
c4++;
我不知道如何处理外循环中的2 * i,我认为内循环类似于O(i-1)/ 1,并且就n而言将是O(n-1)因为我一直&lt; = n。
提前致谢。
答案 0 :(得分:1)
外部循环将运行log(N)
次。对于每个外部循环,内部循环将运行i
次。 i
从1,2,4,8,16,...,log(N)开始。
因此总数约为2 ^(log(N)) - 1,它是O(N)