递归需要满足的三个条件
1.一个问题能分解为几个子问题的解
例如:f(n)=f(n-1)+f(n-2),对应数学函数就是如此。
2.这个问题与分解之后的子问题,除了数据规模不同,求解思路完全一样
3.存在递归终止条件
把问题分解为子问题,子问题再分解为子子问题,虽然可以分解层层分解下去,但是会存在终结条件
例如:f(n)=f(n-1)+f(n-2) ,最后存在f(1)=1,f(2)=2这样的条件,不可能一直分解到f(-∞) 负无穷还不能有一个解。
例如:f(n)=f(n-1)+f(n-2),对应数学函数就是如此。
把问题分解为子问题,子问题再分解为子子问题,虽然可以分解层层分解下去,但是会存在终结条件
例如:f(n)=f(n-1)+f(n-2) ,最后存在f(1)=1,f(2)=2这样的条件,不可能一直分解到f(-∞) 负无穷还不能有一个解。