代码之家  ›  专栏  ›  技术社区  ›  Snowman

Mergesort运行时间BigO

  •  3
  • Snowman  · 技术社区  · 15 年前

    Snapes不友好的向导算法教科书声称合并的运行时间

    解决方案:是的。这个说法在技术上是正确的,因为O(n^4)只给出了一个上限 因为紧束缚是 Θ(n log n).

    我不太明白解决方案是怎么说的。O(n^4)怎么可能是正确的?

    2 回复  |  直到 15 年前
        1
  •  5
  •   Martin    15 年前

    大O符号是算法运行时最坏情况的上限。

    由于O(n^4)高于mergesort的最坏情况时间,因此技术上是正确的,因为它确实提供了一个界限,即mergesort的性能永远不会比O(n^4)差。

    但是,这是没有帮助的,因为运行时间的更好表达式是O(n logn),这是合并排序的“最紧”限制

        2
  •  1
  •   Chris    15 年前

    更为复杂的是,big-O通常在大θ更合适的时候使用,因为大多数键盘没有θ。