6.1 分治法 6.1 分治法 分治法(Divide and Conquer)是一种重要的算法设计范式,它将一个难以直接解决的大问题,分割成规模较小的、相同的子问题,递归地解决这些子问题,然后将子问题的解合并起来,得到原问题的解。分治法通常适用于那些可以自然地分解成更小规模的相同子问题的问题。 6.1.1 分治法的基本思想 分治法的核心思想可以概括为三个步骤: 分解(Divide): 将原问题分解成若干个规模较小、相互独立且与原问题形式相同的子问题。 解决(Conquer): 若子问题规模较小且易于解决时,则直接解。否则,递归地解各个子问题。 合并(Combine): 将各个子问题的解合并为原问题的解。 可以用下面的流程图表示: 6.1.