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,感覺一下這個算法的精妙之處,其實不少人都在說算法難,難於上青天,其實掌握算 法的根纔是最重要的,什麼是算法的根呢,就拿這個遞歸算法來講吧,我感受這個根就是那個出口,只要找到這個出口所在,那麼算法天然而然就能水到渠成了。 遞歸