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)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 揭阳市| 泰来县| 凭祥市| 通辽市| 武平县| 甘孜| 普格县| 安平县| 霸州市| 武山县| 七台河市| 丹寨县| 山阳县| 庐江县| 祥云县| 河北区| 郎溪县| 天等县| 麻城市| 罗定市| 临湘市| 云南省| 松滋市| 阳西县| 东阿县| 济源市| 池州市| 红桥区| 镇巴县| 屏南县| 内丘县| 禹州市| 澎湖县| 和平县| 乌鲁木齐市| 城口县| 石家庄市| 临沂市| 江达县| 墨江| 保德县|