递归算法
递归:在一个方法内部对自身的调用就称为递归
整个方法执行在内存中执行的过程如下图所示:
范例:使用递归计算第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 }
整个在内存中执行过程如下图所示
五、程序的执行过程