6.1 如何选择合适的排序算法

选择合适的排序算法需要考虑多个因素:

场景 推荐算法 理由
大规模基本类型数据 快速排序 平均性能最好,缓存友好
大规模对象数据 归并排序(TimSort) 稳定,性能稳定
小规模数据(n < 50) 插入排序 常数因子小,简单
数据基本有序 插入排序或冒泡排序 适应性好
内存受限 堆排序或希尔排序 原地排序,不需要额外空间
需要稳定排序 归并排序或基数排序 保持相等元素顺序
整数且范围有限 基数排序或桶排序 线性时间复杂度
链表排序 归并排序 天然适合链表
数据均匀分布 桶排序 平均 O(n)
需要实时排序 插入排序 在线算法