数据结构-八大排序算法的时间复杂度 稳定性

每种排序 按最好最坏都分析一次时间复杂度

1:直接插入排序:
最好:待排序已经有序, 从前往后走都不用往里面 插入。 时间复杂度为o(n)
最坏:待排序列是逆序,每一次都要移位插入。 时间复杂度o(n^2)
是稳定排序

2:希尔排序:
最好:缩小增量的插入排序,待排序已经有序。时间复杂度o(n)
一般:平均时间复杂度o(n1.3),最差也是时间复杂度o(n1.3)
不稳定排序

3:冒泡排序:
最好:待排序已经有序。时间复杂度o(n)
最坏:待排序是逆序。时间复杂度o(n^2)
稳定排序

4:快速排序:
最好:待排序无序。时间复杂度o(nlogn)
最坏: 待排序已经有序,基准定义在开始。 时间复杂度为o(n^2)
不稳定排序

5:直接选择排序:
无论好坏:o(n^2)
稳定排序

6:堆排序:
无论好坏:时间复杂度o(nlogn)
不稳定排序

7:归并排序:

稳定排序

8:基数排序:
无论好坏:o(d(n+r)) ,r为基数,d为位数.
稳定排序

转载 请注明! 梁同桌
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 概述:排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部...
    每天刷两次牙阅读 3,743评论 0 15
  • 概述 排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部...
    蚁前阅读 5,220评论 0 52
  • 查找和排序都是程序设计中经常用到的算法。查找相对而言较为简单,不外乎顺序查找、二分查找、哈希表查找和二叉排序树查找...
    eagleRock阅读 5,612评论 0 14
  • 生活中,我们似乎总会遇到一些我们无法避免的失望:生活的不如意,爱情里的波折,工作中的不顺利…对别人失望,也对自己失...
    小筱茶籽阅读 213评论 1 3
  • 我在边城,5月22日,小雨,我正绝望地躺在床上,我想念的人和我隔了大半个中国。 5月23日,阴转小雨,我正在阳台上...
    芷墨l阅读 537评论 5 15