归并排序

将数组递归拆分为子数组,排序后合并为有序数组

比较次数: 0 交换次数: 0 状态: 就绪

算法说明

时间复杂度:最好 O(n log n),平均 O(n log n),最坏 O(n log n)

空间复杂度:O(n)

稳定性:稳定排序

核心思想:分治策略。将数组不断二分直到每个子数组只有一个元素,然后自底向上两两合并有序子数组。时间复杂度始终为 O(n log n),但需要额外 O(n) 的空间。

核心代码