使用Little-oh(o)和Little Omega(ω)

时间:2016-10-29 06:53:26

标签: algorithm data-structures time-complexity

小哦和小欧米茄符号的用途/目的是什么?

虽然我完全理解符号本身及其代表的含义。 我没有看到任何一本书或算法在任何计算中使用它们,所以我不禁想知道为什么如果不使用它们就会创建它们。

1 个答案:

答案 0 :(得分:1)

  

我不禁想知道为什么如果不使用它们就会被创造出来。

我不认为这是正确的(虽然我现在无法找到下面所有声明的链接)。

首先,这些符号直接用于算法分析中的数学术语。

我经常看到他们参与讨论:

  • More exact analysis of heapsort variations有时使用 2n log(n)(1 - o(1)) n log(n)(1 + o(1)之类的术语))(这里链接的论文没有)。

  • 当某个问题存在实际下限时(通过证明或因为不存在更好的解决方案),类似于“你不能在 f(n)中执行此操作,因为它是 o(g(n))“(等效地,”因为 g(n)ω(f(n))“)。 (例如:“您无法及时对此进行排序 n ,因为 n log(n)ω(n)”。)这可以通过限制或通过 O 而不是Θ的组合来表达,但这将是乏味的。