#C03L03P06. C03.L03.数组双指针移动和有序数组的合并.归并排序.原理讲解

C03.L03.数组双指针移动和有序数组的合并.归并排序.原理讲解

归并排序 归并排序(Merge Sort)是建立在归并操作上的一种有效,稳定的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。

以下是归并排序的示意图:

img

以下是二路归并的示意图:

img

img

从上面二路归并的示意图可以看出,合并操作的平均时间复杂度为O(n),比选用sort排序节省时间。