此代码示例的时间复杂度

时间:2011-05-25 12:00:00

标签: c data-structures big-o

i=n;

while (i>=1) {

  --x=x+1;

  --i=i/2;

}

此代码的运行时间是什么?

  

A O(N ^ 2)

     

B O(N ^ 3)

     

C O(N ^ 4)

     

D O(日志N)

     

E O(2 ^ N)

我相信这是选项D

这是修订版。不是作业

2 个答案:

答案 0 :(得分:2)

这将永远不会因为while条件

而终止
i>=i

但是,假设您要输入

i>=1

答案是log(n)。

答案 1 :(得分:0)

如果您将while条件更改为i>=1,那么您的信念是正确的 目前的复杂性是O(INFINITY)