当每次迭代加倍时,这会是什么时间复杂度?

时间:2016-10-19 02:54:50

标签: algorithm time-complexity big-o

int i = 1;
while(i < N) {
  i *= 2;
}

因为我们正在访问1,2,4,8,16 ......(正方形)。我认为大O时间复杂度应该是O(log n)。答案是对的吗?我找到解决方案的方式是否正确?

1 个答案:

答案 0 :(得分:0)

是的,你的回答是正确的。一般来说,如果一个值呈指数增长,它只能在超过某个固定值之前多次对数。