分而治之(divide and conquer,D&C)
示例1
Q:一块1680m*640m的土地,均匀分成方块,且分出来的方块尽可能大?
农场土地 分法问题
使用D&C解决问题的过程分为两个步骤:
1.找出基线条件,这种条件尽可能简单
2.不断的将问题分解(或者说缩小规模),直到符合基线条件
首先找基线条件,最容易的就是
最容易的状况
那么这就是基线条件了
image.pngimage.png image.png
示例2
Q:用递归计算数组求和
基线条件?
递归条件?
函数是编程一瞥
函数式编程快速排序
基线条件:数组长度为1
递归条件:任意取数组中一个基准值,比基准值小的放右边,比基准值大的放左边
网友评论