一、分治策略的基本思想
1.将原始问题划分或者归结为规模较小的子问题
2.递归或迭代的求解每个子问题
3.将子问题的解综合得到原问题的解
注意:
1.子问题与原始问题性质完全一样
2.子问题之间可彼此独立求解
3.递归停止时,子问题足够小可直接求解
二、应用
(一)二分检索
(二)二分归并排序
将原始问题划分或者归结为规模较小的子问题 |
对半划分mid=(low+high)/2 |
递归或迭代的求解每个子问题 | mergeSort(A,mid+1,high) mergeSort(A,low,mid-1) |
将子问题的解综合得到原问题的解 | 如果相等返回mid否则返回mergeSort |
(三)Hanoi塔问题