java 微型遞歸,遞歸入門

以下微型遞歸的運行環境是:windowsXP、eclipse3.5、jdk1.6

遞歸在大數據量下會出現--------棧溢出或者內存不足

在java、web等等的項目中,遞歸用的很頻繁,下面就寫幾個簡單的遞歸,希望能幫到大家,歡迎大家評論,相互探討。

微型遞歸一:

//獲取1到n的所有整數之和。
 private static long f(int n){
        if(n ==1) return 1;
        return   n+f(n-1) ;
 }

微型遞歸二:

//計算1,2,3,4,5...100的總和
 public static int suma(int num){
        int result=0;
        if(num==2)return 3;
        if(num>2){
               result=suma(num-1)+num;
        }
        return result;
 }

微型遞歸三:

//計算1,1,2,3,5,8...前n項數的總和
 public static int recursionSum(int num){
         int result=0;
         if(num==1)return 1;
         if(num==2)return 2;
         if(num>2){
                result=recursionSum(num-1)+recursion(num);
         }
         return result;
 }

微型遞歸四:

//計算1,1,2,3,5,8....的第幾個數是多大
 public static int recursion(int num){
         int result=1;
         if(num==1||num==2)return result;
         if(num>2){
                 result=recursion(num-2)+recursion(num-1);
          }
         return result;
 }

微型遞歸五:

   //輸出該目錄下的所有文件的路徑名稱
    public static void file(File file){ 
            File [] files=file.listFiles();//將文件夾下的文件和子文件夾路徑放入到files中
            for(File filesub:files){//循環獲取每個路徑的文件或者文件夾
                    if(filesub.isDirectory()){//如果是目錄則繼續調用自身的方法
                             file(filesub);
                    }  else if(filesub.isFile()){//如果是文件,則輸出文件的路徑
                            System.out.println(filesub.getPath());
                    }
            } 
    }

發佈了43 篇原創文章 · 獲贊 6 · 訪問量 13萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章