一、基本思想
先将序列一次次分成子序列,直到子序列长度为1;再将已有序的子序列合并,得到完全有序的序列。运用了 分而治之的思想(分治法) 。
二、例子
输入数组 [ 2, 5, 3 , 10, -3, 1 , 6 , 4];初始状态如下:
分治思想如下:
首先把数组依次折半,分成小的子数组,直到每一个子数组的长度都为1;然后合并子数组,在合并的过程中进行排序;
将数组分成子数组的方法比较简单,不过多介绍;
下面介绍一下合并操作,以最后一次合并为例:
下图是最后一次合并前的两个数组: