递归与分治法

分治法思想

把问题分解为k个规模较小的子问题,这些子问题(互相独立且)结构与原来问题的结构相同,再递归地求解这些子问题。

  • 问题分解成子问题;(divide)
  • 当达到某个阈值n0时,给出直接求解的方法;(conquer)
  • 最后把各个子问题的解合并起来,得到原来问题的解;(merge)

算法设计伪代码 

 时间复杂性

分析分治法的运行时间,先列出递归方程,例如

 典型例子

mergesort等

原文地址:https://www.cnblogs.com/eniac1946/p/8733531.html