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,感觉一下这个算法的精妙之处,其实不少人都在说算法难,难于上青天,其实掌握算 法的根才是最重要的,什么是算法的根呢,就拿这个递归算法来讲吧,我感受这个根就是那个出口,只要找到这个出口所在,那么算法天然而然就能水到渠成了。 递归

相关文章
相关标签/搜索