qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          測試遞歸與循環的執行效率與系統開銷

           測試遞歸與循環(這里用for)的執行效率與系統開銷,首先貼出實例問題:實現Fibonacci數列F(n)=F(n-1)+ F(n-2)

            測試環境 Eclipse

            1、首先我們用遞歸來實現

          1. package com.youfeng.test;   
          2. public class Fab {//遞歸  
          3. public static void main(String [] args){   
          4.     System.out.println(F(40));   
          5. }   
          6. public static Long F(int index){   
          7.     if(index==1||index==2){   
          8.         return 1L;  
          9.     }  
          10.     else{  
          11.         return F(index-1)+F(index-2);  
          12.     }  
          13. }  
          14. }

            2、用for循環實現

          1. package com.youfeng.test;  
          2. public class Fab2 {//循環 
          3.     public static void main(String [] args){  
          4.         System.out.println(F(40));  
          5.     }  
          6.     public static Long F(int index){  
          7.         if(index==1||index==2){  
          8.             return 1L;  
          9.         }  
          10.         else{  
          11.             Long f1=1L;  
          12.             Long f2=1L;  
          13.             Long f=0L;  
          14.             for(int i=0;i<index;i++){  
          15.                 f1=f2;  
          16.                 f2=f;  
          17.                 f=f1+f2;  
          18.             }  
          19.             return f;  
          20.         }  
          21.     }  
          22. }

            當index的值很小的時候,我們分別執行沒什么區別,執行速度我們感覺不到什么差別,但是當你把index調到足夠大時100 、200、300、1000…… for循環輕松搞定執行速度挺快。

            當使用遞歸時,你會發現明顯的卡機 卡機 ,有木有?調用系統資源管理器看看你的系統開銷吧(很可能你你打不開資源管理器,因為你卡機了)。

            總結:能不使用遞歸,盡量不要使用,盡量使用循環,效率蠻高的;

            一家之言,歡迎拍磚,實驗簡陋,很多因素沒有考慮進來,請高手指點。

          posted on 2012-01-29 17:39 順其自然EVO 閱讀(163) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          <2012年1月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          2930311234

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 息烽县| 巧家县| 苏州市| 阿拉尔市| 肥乡县| 铁岭县| 鹤庆县| 翼城县| 随州市| 调兵山市| 北川| 恩施市| 额济纳旗| 乳山市| 伊吾县| 沭阳县| 东莞市| 通江县| 民丰县| 临洮县| 阿克| 淳安县| 芜湖市| 化德县| 怀安县| 天祝| 隆德县| 桂阳县| 湘阴县| 渑池县| 江源县| 报价| 兴隆县| 九龙县| 钟祥市| 固安县| 安仁县| 永和县| 苍山县| 德江县| 邯郸市|