1、什么是归并排序?
合并排序就是将待排序的数组分成两半后排好序,然后再将两个排好序的序列合并成一个有序序列。
由于排序问题给定的是一个无序序列,可以将待排序元素分解成两个规模大致相等的子序列,如果还不易解决,再将得到的子序列继续分解,直到子序列中包含的元素个数为 1 .因为单个元素的序列本身就是有序的,此时便可以进行合并,从而可以得到一个完整的有序序列。
2、算法设计
合并排序就是采用分支的策略实现对 n 个元素进行排序的算法。
(1)分解:将待排序的元素分成大小大致相同的两个子序列
(2)治理:对两个子序列进行合并排序
(3)合并:将排好序的有序子序列进行合并,得到最终的有序序列
3、图解算法
下面先通过两个动图来看一看合并排序到底是怎么样移动的
而下面这张