【问题标题】:What's the difference between big O and big Omega?大O和大Omega有什么区别?
【发布时间】:2013-05-07 04:34:46
【问题描述】:

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 将是相同的。那么这两个有什么意义呢?他们的目的是什么?

【问题讨论】:

标签: algorithm big-o


【解决方案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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

      Big O 以(直到常数因子)渐近为界,而 Big Omega 以(直到常数因子)渐近地为界。

      从数学上讲,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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-09-12
        • 2011-02-12
        • 2010-12-29
        • 1970-01-01
        • 2014-05-27
        • 2018-10-23
        • 2017-11-08
        相关资源
        最近更新 更多