Big ON ^ 2(Log N)

Mat*_*att 5 java big-o data-structures

我是Big O的一个完全新手,我有点难过.我有:

for (int i = 1; i < n*n; i *= 2)
Run Code Online (Sandbox Code Playgroud)

在我看来,这等同于 N ^ 2*Log N.

我是对的还是可以简化为N,因为你将输入加倍n*n并将其减半i *= 2?

Pet*_*rey 9

在这种情况下,你有

O(log2(n ^ 2))
Run Code Online (Sandbox Code Playgroud)

是的

O(2 * log2(n))
Run Code Online (Sandbox Code Playgroud)

要不就

O(ln N)
Run Code Online (Sandbox Code Playgroud)

请注意,如果n * n > (1 << 30)你有一个无限循环.