我正在研究书中的渐近符号,我无法理解作者的意思。我知道if f(n) = Θ(n^2) then f(n) = O(n^2)
。但是,我从作者的话中了解到,对于插入排序函数算法f(n) = Θ(n)
和f(n)=O(n^2)
.
为什么?大欧米茄或大θ会随着不同的输入而变化吗?
他说:
“然而,对插入排序的最坏情况运行时间的 Θ(n^2) 限制并不意味着对每个输入的插入排序的运行时间有一个 Θ(n^2) 限制。”
然而,大哦符号是不同的。他什么意思?它们之间有什么区别?
我很混乱。我在下面复制粘贴:
由于 O 表示法描述了一个上限,因此当我们使用它来限制算法的最坏情况运行时间时,我们对每个输入的算法运行时间都有一个界限。因此,插入排序的最坏情况运行时间的 O(n^2) 界限也适用于其在每个输入上的运行时间。然而,对插入排序的最坏情况运行时间的 Θ(n^2) 限制并不意味着对每个输入的插入排序的运行时间有一个 Θ(n^2) 限制。例如,当输入已经排序时,插入排序在 Θ(n) 时间内运行。