java遞歸算法實現

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

相關文章
相關標籤/搜索