8种排序算法速记

排序算法的稳定性

排序算法的稳定性是指两个相等的元素在排序前后其相对位置是不变的。而与时间复杂度没有直接关系,所以要注意区分相关的概念。
稳定:冒(冒泡排序)直(直接插入排序)归(归并排序)基(基数排序,不常用)
不稳定:选(选择排序)希(希尔排序)快(快速排序)堆(堆排序)

常见的6种排序算法的平均时间复杂度分析

冒n2直n2
归nlog2n
选n2快nlog2n
堆nlog2n

排序时间复杂度与初始状态是否有关(循环次数)

归并,选择排序,堆排序,由于平均最差相同,所以初始顺序不影响其排序复杂度选择

排序比较次数与初始状态是否有关

算法性能与初始状态是否有关

直接插入,归并,快排,堆有关
冒泡,选择无关

初始序列基本有序的情况

冒泡n最好 直接插入n最好
快排n2最差

空间复杂度

只有快排的空间复杂度,和堆排序的空间复杂度比较多堆排序需要额外的辅助空间n
快排的空间复杂度,如果就地快排1
使用递归平均是logn,最差情况,退化成冒泡是n

附:


上图有错:快排的空间复杂度,如果就地快排1
使用递归平均是logn,最差情况,退化成冒泡是n

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 概述排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的...
    Luc_阅读 6,776评论 0 35
  • 概述 排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部...
    蚁前阅读 10,595评论 0 52
  • 概述:排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部...
    每天刷两次牙阅读 9,091评论 0 15
  • 父母对孩子的期待大部分都是对学业上的,希望孩子将来能考个好大学,便给他报特别特别多的辅导班,其实我们作为父母忽略了...
    城市格调刘姣阅读 3,034评论 0 0
  • 上午,我陪儿子遛遛;晚上下班爸爸陪他放风筝~
    糖月阳阅读 1,342评论 0 0

友情链接更多精彩内容