目录
🍉算法思想
归并排序(Merge sort)是建立在归并的有效操作上进行排序,主要采用分治法将已有序的子序列合并,得到完全有序的序列。即先让每一小段有序,再让小段之间变得有序。
将两个有序段归并为一个有序段,称为二路归并;有序段称为归并段。
分治法:将一个大问题分成一些小的问题然后递归求解,而治的阶段则将分的阶段得到的各答案“修补”在一起,即分而治之。
如下图所示:
🥝算法描述
①开始以间隔为1进行归并,即第一个元素跟第二个进行归并。第三个与第四个进行归并
②再以间隔为2进行归并,即1-4进行归并,5-8进行归并
③再以2 * 2的间隔进行归并,同理,直到2 * k超过数组的长度为止。
④当不够两组进行归并时,如果超过k个元素元素,仍然进行归并;如果剩余元素不超过k个元素,就直接复制给中间数组。
🍒实例
对 26 53 67 48 57 13 49 32 60 50 按升序顺序进行归并排序。