美文网首页
十大排序算法前序

十大排序算法前序

作者: 得_道 | 来源:发表于2020-08-24 21:58 被阅读0次
    937F34DE-7319-4F55-8462-6BA9D280CCFE.png
    • 以上表格是基于数据进行排序的一般性结论
    • 冒泡、选择、插入、归并、快速、希尔、堆排序、属于比较排序

    排序算法的稳定性

    • 如果相等的2个元素,在排序前后的相对位置保持不变,那么这是稳定的排序算法

    排序前:5, 1, 3𝑎, 4, 7, 3𝑏
    稳定的排序: 1, 3𝑎, 3𝑏, 4, 5, 7
    不稳定的排序:1, 3𝑏, 3𝑎, 4, 5, 7

    • 对自定义对象进行排序时,稳定性会影响最终的排序结果

    • 冒泡排序属于稳定的排序算法

    稍有不慎,稳定的排序算法也能被写成不稳定的排序算法,比如下面的冒泡排序代码是不稳定的


    02DEF2A2-5BC4-4888-BCB0-C39A0BAB21FE.png

    原地算法

    什么是原地算法?

    1. 不依赖额外的资源或依赖比较少的额外资源,仅依靠输出来覆盖输入。

    2. 空间复杂度为 𝑂(1)的都可以认为是原地算法

    非原地算法,称为Not-in-place或Out-of-place

    相关文章

      网友评论

          本文标题:十大排序算法前序

          本文链接:https://www.haomeiwen.com/subject/iwtnjktx.html