Skip to content

Latest commit

 

History

History
29 lines (20 loc) · 1.1 KB

File metadata and controls

29 lines (20 loc) · 1.1 KB

8. Analysis of Complexion - 分治

早在递归一节,我们便见识过了分治算法,这里需要再区别一下两者间的关系:

  • 分治算法是处理问题的思想
  • 递归是一种编程技巧

Go - 分治算法的三个步骤

  1. 分解:将原问题分解为一系列子问题
  2. 解决:递归地求解各个子问题,并且当子问题足够小时,能直接求解
  3. 合并:将子问题的结果合并成原问题

Go - 分治算法的条件

  1. 原问题与分解产生的子问题具有相同的模式
  2. 子问题可以独立求解,且子问题之间没有相关性
  3. 具有分解终止条件
  4. 可以将子问题合并成原问题
  5. 合并操作的复杂度不能太高

Go - 分治算法的应用

从归并排序中理解分治算法:归并排序