归并排序
将数组递归拆分为子数组,排序后合并为有序数组
比较次数: 0 交换次数: 0 状态: 就绪
算法说明
时间复杂度:最好 O(n log n),平均 O(n log n),最坏 O(n log n)
空间复杂度:O(n)
稳定性:稳定排序
核心思想:分治策略。将数组不断二分直到每个子数组只有一个元素,然后自底向上两两合并有序子数组。时间复杂度始终为 O(n log n),但需要额外 O(n) 的空间。
将数组递归拆分为子数组,排序后合并为有序数组
时间复杂度:最好 O(n log n),平均 O(n log n),最坏 O(n log n)
空间复杂度:O(n)
稳定性:稳定排序
核心思想:分治策略。将数组不断二分直到每个子数组只有一个元素,然后自底向上两两合并有序子数组。时间复杂度始终为 O(n log n),但需要额外 O(n) 的空间。