BigO始终检查上限。因此,我们可以测量..我们编写代码的方式,从而可以减少时间复杂度,从而提高代码性能。但是为什么我们要使用下限(omega)?我不了解omega的实时使用。有人可以建议我吗
答案 0 :(得分:1)
这是一项精确功能。碰巧,通常证明算法要完成O(n)
个操作要比证明算法至少要花费 O(n)
个操作(顺便说一句,这种上下文 operation 表示 elementary 计算,例如逻辑和算术运算。)
通过提供下界,您还可以给出最佳情况场景的估计值,因为big-O表示法仅提供上限。
从实际的角度来看,这样做的好处是告诉任何算法无论什么都将需要很多(基本)步骤(或更多)。
还请注意,对平均值,最差和最佳情况进行估算也很有用,因为这些估算值会消失有关算法的复杂度的更多信息。
有些问题的内在复杂度至少是某种程度的(这意味着有一个数学定理证明了这一事实)。因此,无论采用哪种算法,都无法通过少于一定数量的计算来解决这些问题。这也很有用,因为可以让您知道给定算法是次优还是与问题的固有复杂性相匹配。