从分治的两个动作出发讲清归并排序的自顶向下与自底向上实现,说透合并时一个 <= 为何决定稳定性、临时数组为何只分配一次,并延伸到外部排序与 JDK 的 TimSort。
把六种排序的复杂度、空间与稳定性收进一张对照表,说清 JDK 里基本类型走双轴快排、对象走 TimSort 的原因,并给出选型清单和多字段排序、Comparator 契约等实战坑。