标签: java data-structures big-o
我是Big O的一个完全新手,我有点难过。 我有:
for (int i = 1; i < n*n; i *= 2)
在我看来,这等同于
我是对的,还是可以简化为N,因为您使用n*n将输入加倍并用i *= 2将其减半?
n*n
i *= 2
答案 0 :(得分:9)
在这种情况下你有
O(log2(n ^ 2))
是
O(2 * log2(n))
或只是
O(ln N)
请注意n * n > (1 << 30)是否会有无限循环。
n * n > (1 << 30)