这是我得到的代码,但我无法确定它是 O(log(n)) 还是 O(n)。
int i=n;
while (i > 0) {
i/=2;
}
最佳答案
让我们假设n = 1000
。
需要多少次迭代才能达到 i = 0
?
每次除以 2,我们将得到下表:
Iteration | i
----------|--------
0 | 1000
1 | 500
2 | 250
... | ...
... | ...
10 | 0 <-- Here we stop
这可以帮助您弄清楚复杂性吗? (它应该 - 提示:什么是 ~log(1000) 以及 O(n) 是什么意思?)
关于java - O(log(n)) 和 O(n) 有什么区别或分开?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17080754/