Algorithm 大ω,大θ

Algorithm 大ω,大θ,algorithm,big-o,Algorithm,Big O,我正在读亚沙文特·p·卡内卡的《数据结构》一书。在这本书的第11页,我发现有三类算法,如书中所述: a。至少和某些函数一样快的算法 b。以相同速度增长的算法 c。增长不快的算法 后来说: a。是大ω(n) b。是大θ(n) c。是大哦(n) 我无法理解它的意思,所以我搜索了一些youtube视频。我从他们那里学到的是,大欧米茄代表了最好的情况。大Oh代表了最坏的情况。大θ是平均情况情景的表示。我知道这些案子是什么。然而,我不明白这本书试图用这三个类别来表达什么意思,以及它们与这三个案例场景的关系

我正在读亚沙文特·p·卡内卡的《数据结构》一书。在这本书的第11页,我发现有三类算法,如书中所述:

a。至少和某些函数一样快的算法

b。以相同速度增长的算法

c。增长不快的算法

后来说:

a。是大ω(n)

b。是大θ(n)

c。是大哦(n)


我无法理解它的意思,所以我搜索了一些youtube视频。我从他们那里学到的是,大欧米茄代表了最好的情况。大Oh代表了最坏的情况。大θ是平均情况情景的表示。我知道这些案子是什么。然而,我不明白这本书试图用这三个类别来表达什么意思,以及它们与这三个案例场景的关系。

大θ是一个数学家的近似值,回答了“它会扩展到什么程度”的问题;随着问题越来越大,该函数需要多少时间/内存?它去掉了任何常数因子和任何随着问题变得更大而变得不那么重要的项,只留下一个简单的表达式

“大Oh”是一个变体,你给出的“不比”;这一点有时更容易解决,而且有点保守,所以它仍然有用


大欧米茄是相反的变体,你给予“不比”。这有时也有用,但不太常见。

大θ不是一般情况;大θ是指上限和下限相同的时候。这个问题已经被问了很多次了。例如,请参见右侧栏中的相关链接。我不会称之为“三类算法”。这些只是关于给定算法和给定函数的三类陈述。如果你对你的算法感到自豪,你想证明你的算法“至少和…”一样快。然后我带着我的算法来了,我想说你的算法不是很好,所以我证明你的算法“不比…”快。然后一些理论家来计算你的算法的精确复杂性,他们可以说你的算法“以与…相同的速度增长”。此外,它并不总是Ω(n)、Θ(n)和O(n);对于某些函数f(n),它可以是Ω(f(n))、Θ(f(n))和O(f(n))。