【问题标题】:SORTING ALGORITHM QUICK SORT vs INSERTION SORT排序算法快速排序与插入排序
【发布时间】:2021-09-24 05:25:27
【问题描述】:

快速排序是一种 O(nlog(n)) 排序算法。这是否意味着它总是比 O(n2) 算法的插入排序更快?为什么/为什么不?

【问题讨论】:

    标签: sorting quicksort insertion-sort


    【解决方案1】:

    在极端情况下,快速排序和插入排序实际上都可以拥有与O(n) 相同的性能。对于已经排序的集合的插入排序,插入一个新元素最多需要O(n) 比较,并且只需要O(1) 进行插入。当分区总是导致一个元素后跟集合的其余部分时,快速排序的最坏情况会发生。如果这种情况一直持续下去,那么在这种最坏的情况下,快速排序也可以在 O(n) 中运行。

    但是,在一般情况下,我们希望快速排序将执行为O(n*lgn),而插入排序将执行为O(n^2)

    【讨论】:

      【解决方案2】:

      根据系统的不同,对于 16 到 96 个元素的小数组,插入排序可能更快。对于

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-10-06
        • 2020-07-30
        • 1970-01-01
        • 2019-06-30
        • 2013-06-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多