摘要:
归并排序是成功应用分治技术的一个完美例子。分治法的思想是:(1)将问题的实例划分为同一个问题的几个较小的实例,最好拥有同样的规模;(2)对这些较小的实例求解(一般用递归方法,但在问题规模足够小的时候。有时也会利用另一个算法);(3)如果必要的话,合并这些较小问题的解,以得到原始问题的解。对于一个需要排序的数组$a[0...n-1],归并排序把它一分为二:$a[0..n/2-1]和$a[n/2...n-1],并对每个子数组递归排序,然后把这两个排好序的子数组合并为一个有序数组。 下面的这个图能够很好地解释归并排序的整个流程 递归的将一个数组分成两部分,直到小的足以解决问题就不再递归(一个数,一. 阅读全文