下界和紧束缚的区别?

参考这个答案,什么是Theta(紧束缚)?

欧米茄是一个算法可能花费的最小时间,它的下界是很明白的。 我们知道Big-O是上限,意味着算法可能需要的最大时间。 但我不知道Theta。


大O是上界,而欧米茄是下界。 Theta需要大O和Omega,所以这就是为什么它被称为一个紧密的界限(它必须是上限和下限)。

例如,采用Omega(n log n)的算法至少需要n log n时间,但没有上限。 采用Theta(n log n)的算法是非常优先的,因为它至少需要n log n (Omega n log n)并且不超过 n log n (Big O n log n)。


Θ-符号(θ符号)被称为紧束缚,因为它比O-符号和Ω-符号(欧米茄符号)更精确。

如果我懒惰,我可以说排序后的数组上的二进制搜索是O(n2),O(n3)和O(2n),并且在任何情况下,我在技术上都是正确的。 这是因为O-notation只指定了一个上限,而二进制搜索则被所有这些函数限制在较高的一边,只是不是非常接近。 这些懒惰的估计是没用的。

Θ-符号通过组合O-notation和Ω-notation来解决这个问题。 如果我说二分查找是Θ(log n),那么给你更精确的信息。 它告诉你算法在给定函数的两侧是有界的,所以它永远不会比声明更快或更慢。


如果你的东西是O(f(n)),那就意味着有k,g(n)使得f(n)≤kg(n)。

如果你的东西是Ω(f(n)),那就意味着有k,g(n)使得f(n)≥kg(n)。

如果你有一个O(f(n))和Ω(f(n))的东西,那么它就是Θ(f(n))。

维基百科的文章是体面的,如果有点密集。

链接地址: http://www.djcxy.com/p/39883.html

上一篇: Difference between lower bound and tight bound?

下一篇: o to be a strict upper bound?