什么是排序算法的稳定性
2016-01-28 14:36
363 查看
排序算法的稳定性,通俗地讲就是能保证排序前2个相等的数其在序列的前后位置顺序和排序后它们两个的前后位置顺序相同。
在简单形式化一下,如果Ai = Aj, Ai原来在位置前,排序后Ai还是要在Aj位置前。
稳定性的好处。排序算法如果是稳定的,那么从一个键上排序,然后再从另一个键上排序,第一个键排序的结果可以为第二个键排序所用,以其为基础。基数排序就是这样,先按低位排序,逐次按高位排序,低位相同的元素其顺序再高位也相同时是不会改变的。另外,如果排序算法稳定,对基于比较的排序算法而言,元素交换的次数可能会少一些。
常见的稳定排序算法:冒泡排序,插入排序,基数排序,归并排序
在简单形式化一下,如果Ai = Aj, Ai原来在位置前,排序后Ai还是要在Aj位置前。
稳定性的好处。排序算法如果是稳定的,那么从一个键上排序,然后再从另一个键上排序,第一个键排序的结果可以为第二个键排序所用,以其为基础。基数排序就是这样,先按低位排序,逐次按高位排序,低位相同的元素其顺序再高位也相同时是不会改变的。另外,如果排序算法稳定,对基于比较的排序算法而言,元素交换的次数可能会少一些。
常见的稳定排序算法:冒泡排序,插入排序,基数排序,归并排序
相关文章推荐
- 根据相同的字段创建或者修改一个Model
- linux用户态与内核态
- DES加密例子
- shell截取字符串的方法
- 4.0十九章 检测----性能计数器
- 物联网
- 俄罗斯方块Tetris (javascript+HTML+CSS)
- POJ 2718 -- 穷竭搜索
- gridcontrol中LayoutView层叠图片效果
- SoftKeyboard按键View找焦点
- Centos6 安全防护设置指南
- MySQL死锁原因分析
- Struts2入门实例
- LAMP中如何设置open_basedir
- 简单的 数据加载显示“数据正在加载,请稍后”
- 版本控制系统SVN
- 10条命令,一分钟分析Linux性能问题
- POJ 1979 -- DFS
- android 更新下载apk
- 数据库备份,及清理备份计划