那个伪代码的大O是什么?

时间:2019-04-15 15:23:26

标签: algorithm time-complexity big-o analysis pseudocode

x <--1
for i <--0 to n do
    k <-- i
   while k> 0 do
         x <-- x*2
         k <-- k-1
return x

是O(n)吗? while循环会增加复杂性吗?

2 个答案:

答案 0 :(得分:3)

date == today时,内部循环运行i = 0时间
0时,内部循环运行i = 1时间
1时,内部循环运行i = 2
2时,内部循环运行i = 3
...
3时,内部循环运行i = n
全部加起来:n
因此时间复杂度为0+1+2+3+...+n = n*(n+1)/2

答案 1 :(得分:0)

我同意上面的xashru。 O(n ^ 2)