归并排序(Merge Sort)是一种基于分治法的经典排序算法,其核心思想是将数组分成两半,分别排序后再合并。以下是关键要点:
原理流程 🧠
- 分解:递归地将数组分成更小的子数组,直到子数组长度为1
- 解决:每个子数组已排序(长度为1时自然有序)
- 合并:将两个有序子数组合并为一个有序数组
核心特点 ✅
- 时间复杂度: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