我是 Big O 的新手,对此我有点难过。 我有:
for (int i = 1; i < n*n; i *= 2)
我说得对吗?还是可以将其简化为 N,因为您使用 n*n
将输入加倍并使用 i *= 2
将其减半?
最佳答案
在这种情况下你有
O(log2(n ^ 2))
这是
O(2 * log2(n))
或者只是
O(ln N)
注意如果n * n > (1 << 30)
你将有一个无限循环。
关于java - 大 O N^2 (Log N),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32167525/