排序算法
排序算法:一种能将一串数据依照特定的顺序进行排列的算法。
排序算法稳定性
排序算法稳定性:稳定排序算法会让原本有相等key值的记录维持相对次序。
如果一个排序算法是稳定的,当有两个相等key值的纪录R和S,且在原本的列表中R出现在S之前,则在排序过的列表中依旧会保持R在S之前的状态。以下面的数对排序举例,
(4, 1) (3, 1) (3, 7) (5, 6)
# 维持次序
(3, 1) (3, 7) (4, 1) (5, 6)
# 次序被改变
(3, 7) (3, 1) (4, 1) (5, 6)
不稳定排序算法可能会在相等的键值中改变记录的相对次序,但是稳定排序就不会有这种现象的发生。