Fibonacci数列:1,1,2,3,5,8,13…… java
public classFab { public static void main(String args[]){ System.out.println(fab(5)); } private static int fab(int index){ if(index==1 || index==2){ return 1; }else{ return fab(index-1)+fab(index-2); } } }
程序分析: 算法
这个实例是很是经典的实例,主要是利用递归实现了Fibonacci数列。这个递归算法的出口是在 spa
if(index==1 || index==2){ return 1; }
这个代码段上,若是程序的index符合条件就会中止进行递归。因此这个程序的运行流程是: code
程序分析到这里,递归的实现也就完成了,读者能够本身简单的作个demo,感觉一下这个算法的精妙之处,其实不少人都在说算法难,难于上青天,其实掌握算 法的根才是最重要的,什么是算法的根呢,就拿这个递归算法来讲吧,我感受这个根就是那个出口,只要找到这个出口所在,那么算法天然而然就能水到渠成了。 递归