“分而治之”( Divide and conquer)方法(又称“分治术”) ,是有效算法设计中普遍采用的一种技术。
所谓“分而治之” 就是把一个复杂的算法问题按一定的“分解”方法分为等价的规模较小的若干部分,然后逐个解决,分别找出各部分的解,把各部分的解组成整个问题的解。
通俗来说,就是将一个复杂的问题拆分成一个个小问题,将这些小问题的解结合起来,构成这个复杂问题的解。
就比如我们之前熟知的算法思想,二分法,汉诺塔,都包含了分而治之的思想。
这种朴素的思想来源于人们生活与工作的经验,也完全适合于技术领域。诸如软件的体系结构设计、模块化设计都是分而治之的具体表现。
在进行软件开发的过程中,当我们遇到一个庞大的项目,通常就会采用分而治之的思想,将这个庞大的项目分割成一个个小项目分交给不同的负责人,使项目顺利进行。