美文网首页
为什么插入排序比冒泡排序更受欢迎

为什么插入排序比冒泡排序更受欢迎

作者: 姜葱汁 | 来源:发表于2022-03-05 22:05 被阅读0次
    1. 排序总览


      image.png
    1. 冒泡排序


      image.png
    image.png

    插入一些小知识:

    有序度 :a[j] < a[j+1]
    逆序度 :a[j] > a[j+1]
    满有序度 : 完全有序的数组,有序度是 n*(n-1)/2
    逆序度 = 满有序度 - 有序度 = 交换次数

    1. 插入排序


      image.png
    image.png
    1. 选择排序:找到未排序最小元素和前面的数据交换,是一种不稳定排序。比如 5,8,5,2,9 这样一组数据,使用选择排序算法来排序的话,第一次找到最小元素 2,与第一个 5 交换位置,那第一个 5 和中间的 5 顺序就变了,所以就不稳定了。(直接pass)

    2. 总结:冒泡排序和插入排序都是稳定排序,且是一种原地排序--空间复杂度为O(1),时间复杂度都为O(n2)。但是由于冒泡排序的操作比插入排序复杂--冒泡排序需要3个赋值操作,而插入排序只需要1个。使得插入排序计算的更快,性能更优。所以插入排序更受欢迎。


      image.png

    -- 摘自《数据结构与算法之美》11节

    相关文章

      网友评论

          本文标题:为什么插入排序比冒泡排序更受欢迎

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