归并排序(Merge Sort)是一种基于分治法的经典排序算法,其核心思想是将数组分成两半,分别排序后再合并。以下是关键要点:

原理流程 🧠

  1. 分解:递归地将数组分成更小的子数组,直到子数组长度为1
  2. 解决:每个子数组已排序(长度为1时自然有序)
  3. 合并:将两个有序子数组合并为一个有序数组
归并排序_流程图

核心特点 ✅

  • 时间复杂度:O(n log n)(最好、平均、最坏情况均一致)
  • 空间复杂度:O(n)(需要额外空间存储临时数据)
  • 稳定性:稳定排序算法(相同元素相对顺序不变)
  • 适用场景:适合链表结构排序,也适用于大规模数据排序

与其他算法对比 📋

算法 时间复杂度 空间复杂度 稳定性 适用场景
归并排序 O(n log n) O(n) 大数据量、链表结构
快速排序 O(n log n) O(log n) 数组结构、小数据量
冒泡排序 O(n²) O(1) 教学演示、小数据量

如需进一步了解快速排序实现,可访问:/project/sort_algorithms/quick_sort
了解更多算法对比:/project/algorithm_comparison/visual_guide