分而治之算法把一个问题实例分解为若干个小型而独立的实例,从而通过推导最小最大问题和排序问题的复杂度下限,来证明用分而治之算法能够得到这两个问题的最优解。
分而治之方法与软件设计的模块化方法非常相似。一个问题的小实例可以用直接方法求解。而要解决一个问题的大实例,可以(1)把它分成两个或多个更小的实例;(2)分别解决每个小实例;(3)把这些小实例的解组合成原始大实例的解。