大O和大欧米茄有什么区别?

时间:2013-05-13 07:41:59

标签: algorithm big-o

Big Omega应该与Big O相反,但它们总是具有相同的值,因为根据定义Big O意味着:

g(x) so that cg(x) is bigger or equal to f(x)

和Big Omega意味着

g(x) so that cg(x) is smaller or equal to f(x)

唯一改变的是c的值,如果c的值是任意值(我们选择满足不等式的值),那么Big Omega和Big O将是相同的。那么这两个有什么意义呢?他们的目的是什么?

3 个答案:

答案 0 :(得分:0)

大O以渐近的方式限制在(高达常数因子)之上,而大欧米茄渐近地被(低于常数因子)限制在下方。

从数学上讲,f(x)= O(g(x))(big-oh)意味着f(x)的增长率渐近地小于或等于g(x)的增长率。

f(x)=Ω(g(x))(big-omega)意味着f(x)的增长率渐近地大于或等于g(x)的增长率

请参阅下面的Wiki参考:

Big O notation

enter image description here

答案 1 :(得分:-1)

有时候你想要证明一个上限(Big Oh),有时候你想要证明一个下限(Big Omega)。

http://en.wikipedia.org/wiki/Big_O_notation

Family of Bachmann–Landau notations

答案 2 :(得分:-1)

当你断言这样的g存在时,你是对的,但这并不意味着它是已知的。

除了讨论算法的复杂性之外,您还可以讨论问题的复杂性

众所周知,multiplication例如是Ω(n)和O(n log(n)log(log(n)))的位数,但精确的表征(用Θ表示)是未知。与integer factorizationNP problems一般的情况相同,这就是整个P与NP的关系。

此外,显然algorithms被证明是最佳的,并且其复杂性未知。见http://en.wikipedia.org/wiki/User:Erel_Segal/Optimal_algorithms_with_unknown_runtime_complexity