test4 二分归并

问题

二分归并排序:对n个不同的数构成的数组A[1…n]进行排序,其中n=2^k

解析

test4 二分归并

设计

可以将该组数分成A,B组,再可以将A,B组各自再分成二组。依次类推,当分出来的小组只有一个数据时,可以认为这个小组组内已经达到了有序,然后再合并相邻的二个小组就可以了。这样通过递归先分解数列,再合并数列就完成了归并排序。

分析

假设输入规模为n,最好情况下,需要比较n/2次,最坏情况下(n-1)次,时间复杂度:O(nlogn)

源码

https://github.com/yaoshuangice/yaoshuang