渐近符号澄清

时间:2017-06-16 13:44:55

标签: algorithm asymptotic-complexity

1) Ο(f(n)) = { g(n) : there exists c > 0 and n0 such that f(n) ≤ c.g(n) for all n > n0. }
2) Ω(f(n)) ≥ { g(n) : there exists c > 0 and n0 such that g(n) ≤ c.f(n) for all n > n0. }
3) θ(f(n)) = { g(n) if and only if g(n) =  Ο(f(n)) and g(n) = Ω(f(n)) for all n > n0. }

这三个等式是什么意思以及我们如何简化这个?

1 个答案:

答案 0 :(得分:0)

这些是定义。所以我想说它们已经简化了。您可能想要做的是将它们翻译成自然语言。在我们的例子中,简单的英语。在这里:

  1. 如果从a开始,我们说函数(或算法)是f(n)阶 某一点(比如说n = 100),这个函数永远不会大于 f(n)。
    但是它有一个错误。它应该是g(n)≤c.f(n)。
  2. 我没有那样看过。遗憾。
  3. 这种表示法暗示您正在寻找一种功能(或 算法)不大于f(n)且不小于 来自某个n的g(n)(比如n = 200)。
  4. 在分析算法复杂性时,这些非常有用。对于第一个,您需要一个上限,通常是算法消耗的内存或时间。对于第二个,下限。并且,对于第三个,包括上限和下限。

    你见过https://en.wikipedia.org/wiki/Analysis_of_algorithms吗?

    干杯!