【发布时间】:2018-08-25 20:18:59
【问题描述】:
据我所知和研究,
Big - Oh 表示法描述了算法时间复杂度的最坏情况。
Big - Omega 表示法描述了算法时间复杂度的最佳情况。
Big - Theta 表示法描述了算法时间复杂度的平均情况。
但是,最近几天,我看到一些人在讨论中这样说
在最坏的情况下,O 是一个“可以原谅的”误解。最好的 Θ 很简单 错误的。最好的Ω也是可以原谅的。但他们仍然存在误解。
big-O 符号可以表示任何复杂性。事实上它可以 描述任何函数的渐近行为。
我还记得我在大学课程中学习了前一个。我还是个学生,如果我认错了,请你解释一下吗?
【问题讨论】:
-
“有些人”是正确的。见:How do O and Ω relate to worst and best case?
-
@Dukeling Big - Oh 表示法描述了算法时间复杂度的最坏情况。 错误????
-
是的,几乎所有这些都是错误的:“Big - Oh 表示法用于定义算法在时间复杂度方面的上限。这意味着 Big - Oh 表示法始终表示最大时间算法要求所有输入值。这意味着 Big - Oh 表示法描述了算法时间复杂度的最坏情况。”。 [它是一个上限,但它是一个函数,而不是一个算法。]
标签: algorithm math time-complexity asymptotic-complexity