java递归算法实现

Fibonacci数列:1,1,2,3,5,8,13……

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数列。这个递归算法的出口是在

if(index==1 || index==2){  
       return 1;  
    }



                这个代码段上,如果程序的index符合条件就会停止进行递归。所以这个程序的运行流程是:

         java递归算法实现_第1张图片

       

        程序分析到这里,递归的实现也就完成了,读者可以自己简单的做个demo,感受一下这个算法的精妙之处,其实很多人都在说算法难,难于上青天,其实掌握算 法的根才是最重要的,什么是算法的根呢,就拿这个递归算法来说吧,我感觉这个根就是那个出口,只要找到这个出口所在,那么算法自然而然就能水到渠成了。


你可能感兴趣的:(java递归算法实现)