早在递归一节,我们便见识过了分治算法,这里需要再区别一下两者间的关系:
- 分治算法是处理问题的思想
- 递归是一种编程技巧
- 分解:将原问题分解为一系列子问题
- 解决:递归地求解各个子问题,并且当子问题足够小时,能直接求解
- 合并:将子问题的结果合并成原问题
- 原问题与分解产生的子问题具有相同的模式
- 子问题可以独立求解,且子问题之间没有相关性
- 具有分解终止条件
- 可以将子问题合并成原问题
- 合并操作的复杂度不能太高
从归并排序中理解分治算法:归并排序
早在递归一节,我们便见识过了分治算法,这里需要再区别一下两者间的关系:
从归并排序中理解分治算法:归并排序