递归的理解
递归算法概念是函数调用自己来实现的某种功能,按以下方法理解递归你会恍然大悟(如果你对递归有疑惑的话),并觉得递归是如此简单: 1.递归是高中数学中的数列那一章讲的内容。数列这章讲了一个概念叫递推公式:如果已知数列的第1项(或前几 项),且从第二项(或某一项)开始的任一An与它的前一项An-1(或前几项)间的关系可以用一个公式来表 示,那么这个公式就叫递推公式,递推公式是给出数列的一种方法。 2.例如斐波那契数列的递推公式就是:An=An-1+An-2(n>2,a1=1,a2=1) 3.那么现在如果想用递归的方式表示斐波那契数列即可定义函数f(n):当n>2时f(n)=f(n-1)+f(n-2);当n=1时f(n)=1,当n=2时f(n)=1; 即private static int fibonacciRe(int i) { if(i == 1 || i == 2) return 1; else if(i>2) return fibonacciRe(i-1)+fibonacciRe(i-2); else return 0; } 4.解释:其实说白了递归函数就是一个递推公式,只要递推公式往纸上一写,把项A替换成函数名字,把n替换成函的 参数即可,最后用if处理一下特殊参数值时的结果值就欧了。 5.总结:我们为什么有些人很难理解递归函数呢