递归两个要素
1.递归边界
2.递归的逻辑——递归"公式"
递归的过程一定有参数的变化,并且参数的变化,和递归边界有关系.
在难度较大的题目中,这两者均不容易直接得到.
1.Fibonacci数
我们直到Fibonacci数的递推公式为:F(0)=F(1)=1,F(n)=F(n-1)+F(n-2) n>=2;
这个明显地给出了递归边界n=0或1的时候F(n)的值,和递归逻辑F(n)=F(n-1)+F(n-2),即递推公式.所以这个递归函数不难书写
![img_9cad046ebf7597e9be656e588068e09f.png](https://yqfile.alicdn.com/img_9cad046ebf7597e9be656e588068e09f.png)
2.阶乘
阶乘的递归公式为:
![img_70890b5b3e0e5ee86fabff9053abaebd.png](https://yqfile.alicdn.com/img_70890b5b3e0e5ee86fabff9053abaebd.png)
代码如下:
![img_78f5667bce4c6871b8c88e11ccc3c8bf.png](https://yqfile.alicdn.com/img_78f5667bce4c6871b8c88e11ccc3c8bf.png)
3、递归实现二分查找
![img_249cef0e406f0b260b0d92f832c51dcf.png](https://yqfile.alicdn.com/img_249cef0e406f0b260b0d92f832c51dcf.png)