您好,登錄后才能下訂單哦!
這篇文章主要介紹了java如何測試遞歸與循環(huán),具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
測試遞歸與循環(huán)(這里用for)的執(zhí)行效率與系統(tǒng)開銷,首先貼出實例問題:實現(xiàn)Fibonacci數(shù)列F(n)=F(n-1)+ F(n-2)
測試環(huán)境 Eclipse
1.首先我們用遞歸來實現(xiàn)
package com.youfeng.test; public class Fab {//遞歸 public static void main(String [] args){ System.out.println(F(40)); } public static Long F(int index){ if(index==1||index==2){ return 1L; } else{ return F(index-1)+F(index-2); } } }
2.用for循環(huán)實現(xiàn)
package com.youfeng.test; public class Fab2 {//循環(huán) public static void main(String [] args){ System.out.println(F(40)); } public static Long F(int index){ if(index==1||index==2){ return 1L; } else{ Long f1=1L; Long f2=1L; Long f=0L; for(int i=0;i<index;i++){ f1=f2; f2=f; f=f1+f2; } return f; } } }
當(dāng)index的值很小的時候,我們分別執(zhí)行沒什么區(qū)別,執(zhí)行速度我們感覺不到什么差別,但是當(dāng)你把index調(diào)到足夠大時100 、200、300、1000…… for循環(huán)輕松搞定執(zhí)行速度挺快。
當(dāng)使用遞歸時,你會發(fā)現(xiàn)明顯的卡機 卡機 ,有木有?調(diào)用系統(tǒng)資源管理器看看你的系統(tǒng)開銷吧(很可能你你打不開資源管理器,因為你卡機了)。
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“java如何測試遞歸與循環(huán)”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。