计算代码中的时间复杂度

时间:2016-04-04 12:48:27

标签: time-complexity

我对计算以下代码段中的时间复杂性表示怀疑。

案例1: -         for(i = n; i> = 1; i = i / 2 )         printf("%d",i);

案例2: -         for(i = 1; i< n; i = i * 2 )         printf("%d",i)

我可以说,上面的代码会针对输入运行 O(N / 2) O(log N)时间复杂度吗?

提前致谢。

1 个答案:

答案 0 :(得分:1)

需要O(log2(n)),想想这个.i = 1,然后打印结果是1,然后2,4,8,16直到2 ^ x> n,然后在其中做数学,x> ; log2(n),因此时间复杂度为O(log2(n))