归并的核心思想
归并排序是算法领域比较常见的排序算法,其运用了分治思想,所谓分治思想就是分而治之,将复杂的问题进行分解,把一个问题分解成两个问题,两个问题分解成四个问题等等,在算法领域,分治思想也普遍存在,比如排序中的快速排序和归并排序,下面通过介绍归并排序,也可以了解分治思想
归并排序的思路就是将一段无序的序列,分成两段无序的序列,然后就是四段无序的序列,直到最后每一个序列只剩下一个元素,这个操作叫分解,分解完毕之后,再将两个序列融合起来,合成一个有序的序列,这个操作叫做合并。重复合并的操作,可以将分解的序列以有序的形式排序起来。
归并排序的实现
想要了解归并排序,其核心就是要先了解merge函数的实现,也就是归并函数,归并方法merge作用就是将分解后的序列合并,最终形成一个有序的系列,由于一个序列的合并不好表示,接下来我将以合并两个拥有两个数据的序列为例,达到以下目的;
由于经过一次merge合并后,有两个有序的序列,这两个序列如上图,分别是6,10和1,7。要想实现最终合并成一个有序数组,这时候就需要: