【发布时间】:2012-09-30 17:20:56
【问题描述】:
我正在研究书中的渐近符号,我无法理解作者的意思。我知道if f(n) = Θ(n^2) then f(n) = O(n^2)。但是,我从作者的话中了解到对于插入排序函数算法f(n) = Θ(n)和f(n)=O(n^2)。
为什么?大 omega 或大 theta 是否会随着输入的不同而变化?
他说:
“然而,插入排序最坏情况运行时间的 Θ(n^2) 界限并不意味着每个输入的插入排序运行时间的 Θ(n^2) 界限。”
但是,大哦符号不同。他什么意思?它们有什么区别?
我很困惑。我在下面复制粘贴:
由于 O-notation 描述了一个上限,当我们使用它来限制最坏情况的运行时 算法的时间,我们对每个输入的算法运行时间都有一个界限。 因此,插入排序的最坏情况运行时间的 O(n^2) 界限也适用于它的运行 每个输入的时间。 Θ(n^2) 限制在插入排序的最坏情况运行时间上, 但是,并不意味着 Θ(n^2) 限制在每个输入的插入排序的运行时间上。 例如,当输入已经排序时,插入排序在 Θ(n) 时间。
【问题讨论】:
标签: algorithm complexity-theory big-o insertion-sort big-theta