首页 > 技术文章 > 分治思想与归并排序

drfxiaoliuzi 2016-09-21 12:25 原文

分治法的思想:

将原问题分解为几个规模较小但类似于原问题的子问题,递归地求解这些自问题,然后再合并这些自问题的解来建立原问题的解。

分支模式在每层递归时都有三个步骤:

分解原问题为若干子问题,这些子问题是原问题的规模较小的实例。
解决这些子问题,递归地求解各子问题。然而,若子问题的规模足够小,则直接求解。
合并这些子问题的解成原问题的解。

归并排序算法完全遵循分治模式。直观上其操作如下:

分解: 分解待排序的n个元素的序列成各具n/2个元素的两个子序列。
解决: 使用归并排序递归地排序两个子序列。
合并: 合并两个已排序的子序列以产生已排序的答案。

参考:
《算法导论》中文版原书第3版Page16,17

推荐阅读