分治法原理:把一个规模为N的问题分解成两个或多个较小规模但与原问题类型相同的子问题,通过对子问题的求解,并把子问题的解合并起来构造出整个问题的解。
算法框架:由于对子问题的求解过程与原问题的求解过程是相同的,所以分治法处理问题的算法可以自然写成一个递归的过程。通常包括以下几个部分:
1、基值处理部分(即问题到足够小后要进行的处理);
2、分解问题部分;
3、递归调用部分;
4、合并处理部分。对一些具体问题可能某些部分无明显界限。
算法结束条件判断(有解条件、无解条件),例如二分查找法是否有结果。