定义:在数学和计算机科学中,一个方法或者函数在定义的时候,调用了自己(通常来说递归就是自己调用自己,但是不能死循环)
//递归框架模板
public static void f (int i){ if(i==0){ //递归的出口 return ; } f(i-1); //自己调用自己(有参数变化) }
递归的设计经验:(重点)
请记住一下3个步骤,因为后面的递归的思路都是从这3个方面着手的。
<1> 找重复 (将问题简化承规模更新小的子问题)
1.找到一种划分方法
2.找到递推公式或等价转换
<2>找出重复的变化量——》参数:变化的量通常作为参数
<3>找出参数变化趋势——》设计出口