我对Big O符号和规则感到困惑

时间:2015-01-23 00:28:12

标签: big-o

我刚刚学到了一些关于Big O符号的基本内容,我一直想知道为什么N ^ a = O(N ^ b)如果a< = b和为什么log2 N = O(N ^(1/2) ))?
这是否意味着如果函数是N ^ 2,我们可以说它是O(N ^ 2)还是O(N ^ 3)? 我对这些感到困惑。

此外,如果存在类似(2 ^ logN)/(logN)-1 / logN的函数,Big O估计会是什么?

1 个答案:

答案 0 :(得分:0)

Big O 是复杂性的上限。它应尽可能紧密,但过大的上限仍然是上限。

因此,如果你有线性复杂度O(N),你也有二次复杂度O(N ^ 2),即使后者是一个弱得多的陈述。

  

此外,如果存在类似(2 ^ logN)/(logN)-1 / logN的函数,Big O估计会是什么?

- 1/logN永远不会大于1,因此实际上是常数,可以忽略。

2^logN是线性的。

将其除以log N,使其显示在O(N/log n)。次线性。