我们可以看到不同算法的最佳,最差和平均时间复杂度,然后假设合并排序,最佳情况应该是Ω(n logn),而是给定O(n logn)。类似地,对于平均情况,它应该被赋予Θ(n logn)但是也使用大O符号。无论是最佳情况还是普通情况,这个大O符号在本表中随处可见。请解释一下原因。
在实践中,有两种版本的渐近符号在使用中。
这些符号的挑战在于,如果您期望对算法的运行时进行超级严格,精确,数学上准确的描述,并且您使用了大O符号,那么您会感到困惑,因为所说的可能的字面含义可能会是错的。同样,如果你是一个软件工程师,他已经习惯了外行版的big-O表示法而且有人开始使用Θ和Ω表示法,那可能会让人感到困惑,因为你可能不习惯看到它。
我认为你问题的“最佳”答案是“制作该表的人可能应该使用更精确的渐近符号,所以即使从技术上讲他们所做的事情并不理想,但以这种方式呈现信息是一种相对普遍的做法。 “。由于我倾向于在Theoryland上花费大量时间,所以我个人更喜欢在这里使用不同的渐近符号,但由于我还与一群软件工程师交互,我完全理解为什么他们没有。