【刷题】排序的稳定和不稳定
稳定性是指:
- 相等的数经过某种排序方法后,仍保持它们排序前的相对次序(前后次序)。
- 例如:A1=A2,排序前A1在A2前面,排序后A1还在A2前面
常见排序算法分类
- 稳定的排序算法:冒泡排序、插入排序、归并排序和基数排序。
- 不稳定的排序算法:选择排序、快速排序、希尔排序、堆排序。
意义:
-
稳定性本质是维持具有相同属性的数据的插入顺序,如果后面需要使用该插入顺序排序,则稳定性排序可以避免这次排序。
-
比如,公司想根据“能力”和“资历”(以进入公司先后顺序为标准)作为本次提拔的参考,假设A和B能力相当,如果是稳定性排序,则第一次根据“能力”排序之后,就不需要第二次根据“”资历排序了,因为“资历”排序就是员工插入员工表的顺序。如果是不稳定排序,则需要第二次排序,会增加系统开销。