递归算法

 递归:在一个方法内部对自身的调用就称为递归

递归算法

 整个方法执行在内存中执行的过程如下图所示:

递归算法

范例:使用递归计算第5个斐波那契数列数

递归算法
 1 /*计算第5个斐波那契数列数*/
 2 /*
 3 斐波那契数列特点:f(1)=1,f(2)=1,f(3)=f(1)+f(2),f(4)=(f2)+(f3)……依次类推。
 4 即后一个数都是等于前两个数的和,这样的数列就是斐波那契数列。
 5 */
 6 /*
 7 使用递归调用的方法计算
 8 */
 9 public class Fab{
10     public static void main(String args[]){
11         System.out.println(f(5));
12     }
13     
14     public static int f(int n){
15             if(n==1||n==2){
16                     return 1;
17                 }else{
18                         return f(n-1)+f(n-2);
19                     }
20         }
21 }
递归算法

  整个在内存中执行过程如下图所示

递归算法

五、程序的执行过程

递归算法