内部排序算法笔记
来源:互联网 发布:c 编程 文件被截断 编辑:程序博客网 时间:2024/05/19 18:37
各种内部排序方法的比较
1.内部排序的基本策略
各种内部排序按所采用的基本策略可分为插入排序、交换排序、选择排序、归并排序和基数排序,他们的基本策略如下:
(1)插入排序:依次将无序序列中的一个记录,按关键字的大小插入已排好序的一个子序列的适当位置,直到插入所有的记录为止。(直接插入排序、表插入排序、二路插入排序和希尔排序)
(2)交换排序:对于待排序序列中的记录,两两比较记录的关键字,并对反序的两个记录进行交换,直到整个序列中没有反序的记录偶对为止。(冒泡排序、快速排序)
(3)选择排序:不断地从待排序的序列中选取关键字最小的记录,放在已排好序的序列的最后,直到选取的所有记录为止。(简单选择排序、堆排序)
(4)归并排序:利用“归并”技术不断地对待排序记录序列中的有序子序列进行合并,直到合并为一个有序序列为止。
(5)基数排序:按待排序记录的关键字的组成部分从低到高(或从高到低)进行。每次是按记录关键字某一位的值将所有记录分配到相应的桶中,再按桶的编号一次收集记录,最后得到一个有序序列。
2.内部排序方法的性能比较
排序方法
平均时间复杂度
最坏情况
辅助空间
稳定性
直接插入排序
O(n^2)
O(n^2)
O(1)
稳定
冒泡排序
O(n^2)
O(n^2)
O(1)
稳定
直接选择排序
O(n^2)
O(n^2)
O(1)
稳定
希尔排序
O(n^1.3)
O(n^1.3)
O(1)
不稳定
快速排序
O(nlog2^n)
O(n^2)
O(nlog2^n)
不稳定
堆排序
O(nlog2^n)
O(nlog2^n)
O(1)
不稳定
归并排序
O(nlog2^n)
O(nlog2^n)
O(n)
稳定
基数排序
O(d X (rd+n))
O(d X (rd+n))
O(rd)
稳定
希尔排序:又称为缩小增量法,是一种分组插入排序方法。
- 内部排序算法笔记
- 【笔记】内部排序算法
- 内部排序算法比较
- 内部排序算法比较
- 内部排序算法
- 内部排序算法分析
- 各种内部排序算法!
- 内部排序算法比较
- 内部排序算法比较
- 内部排序算法比较
- 内部排序算法小结
- 内部排序算法练习
- 内部排序算法概述
- 内部排序算法小结
- 内部排序算法
- 内部排序算法总结
- 内部排序算法
- 内部排序算法
- struts2struts.xml文件主要配置
- iOS直播
- .frx文件扩展的细节-文件扩展名 数据库
- Android中Activity的四种经典传值方法
- 编程中最没用的是源代码,最有用的是数据结构和算法
- 内部排序算法笔记
- 关于8086/8088存储器结构
- JavaEE项目实战(OA系统)之十_部门管理之四
- 深入了解Android视图构造函数
- dubbo配置文件报错
- SpringMVC Model ModelAndView ModelMap Map
- iOS - UIButton设置圆角和边框及边框颜色
- 深入学习Android系统上mount命令的使用
- 新闻数据分页查询的优化