AYE89

coding & learning

导航

递归与分治法

Posted on 2018-04-07 15:54  AYE89  阅读(392)  评论(0编辑  收藏  举报

分治法思想

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

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

 

算法设计伪代码 

 

 时间复杂性

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

 

 典型例子

mergesort等