亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Java > 正文

Java中遞歸、循環的優劣分析

2024-07-14 08:43:52
字體:
來源:轉載
供稿:網友

介紹:

你用你手中的鑰匙打開一扇門,結果去發現前方還有一扇門,緊接著你又用鑰匙打開了這扇門,然后你又看到一扇門......但是當你開到一扇門時,發現前方是一堵墻無路可走了,你選擇原路返回--這就是遞歸。

但是如果你打開一扇門后,同樣發現前方也有一扇門,緊接著你又打開下一扇門.....但是卻一直沒有碰到盡頭--這就是循環。

簡單來說:循環是有去無回,而遞歸是有去有回(因為存在終止條件)。

循環:當滿足某一條件時反復執行某一操作(循環體)。

遞歸:在一個方法內部對自身進行調用的方法。

遞歸結構包括兩個部分:

  1、遞歸頭:即什么時候不調用自身方法,也就是遞歸的結束條件。如果沒有遞歸頭,程序將陷入死循環。

  2、遞歸體:即什么時候需要調用自身方法。

好了,廢話不多說,直接來擼代碼(計算階乘的方法)。

package com.bjwyj.method;/** * 遞歸和循環的比較 * @author 吳永吉 * */public class TestRecursion { public static void main(String[] args) { //以下調用System下的currentTimeMillis()方法只是為了說明遞歸調用比循環調用更耗時 long l1 = System.currentTimeMillis();  System.out.println(factorial(5)); long l2 = System.currentTimeMillis(); System.out.println("遞歸計算階乘耗時:"+(l2-l1));  System.out.println("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$"); long time1 = System.currentTimeMillis(); System.out.println(factorialLoop(5)); long time2 = System.currentTimeMillis(); System.out.println("循環計算階乘耗時:"+(time2-time1)); }  //使用遞歸定義計算階乘的方法 public static long factorial(int num) { if(num==1) { //遞歸頭 return 1; }else { return num*factorial(num-1); //遞歸體 } }  //使用循環定義計算階乘的方法 public static long factorialLoop(int n) { int result = 1; //接收計算結果 while(n>1) { result *= n*(n-1); //實現計算結果的累乘操作 n -= 2; //每次減去2,實現數字的迭代操作 } return result; }}

執行結果:

120
遞歸計算階乘耗時:1
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
120
循環計算階乘耗時:0

由結果可以看出,使用遞歸算法比使用循環算法更耗時。

為了更好地比較遞歸算法的優劣,上述采用while循環與遞歸算法進行對比。

先來分析上述遞歸方法的執行過程,如下圖:

Java,遞歸,循環

循環方法的執行過程,如下圖:

Java,遞歸,循環

這里為了看起來清晰,只是簡單地畫出了棧內存中的執行過程(這樣畫更便于理解)。

總結:

棧,主要是用來存放棧幀的,每執行一個方法就會出現壓棧操作,所以采用遞歸的時候產生的棧幀比較多,遞歸就會影響到內存,非常消耗內存。而使用循環就執行了一個方法,壓入棧幀一次,只存在一個棧幀,所以比較節省內存。

好了,以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對VeVb武林網的支持。


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲精品一区二区三区不| 日韩中文字幕不卡视频| 国产99在线|中文| 国产成人精品久久久| 国产精品私拍pans大尺度在线| 国产精品久久久久久久9999| 欧美有码在线观看视频| 亚洲欧美日韩中文视频| 日韩美女中文字幕| 成人激情黄色网| 欧美日韩在线观看视频| 欧美超级免费视 在线| 国产精品爱啪在线线免费观看| 国产精品美女www爽爽爽视频| 日韩av成人在线观看| 国产精品国模在线| 亚洲自拍高清视频网站| 欧美精品在线极品| 欧美日韩国产成人在线观看| 国产亚洲欧美日韩一区二区| 国产成人亚洲综合91| 欧美俄罗斯性视频| 97视频国产在线| 97超视频免费观看| 亚洲国产黄色片| 久久精品国产99国产精品澳门| 精品久久久久久久大神国产| 国产精品久久久久久久天堂| 欧美国产日韩一区二区三区| 亚洲经典中文字幕| 91社影院在线观看| 青青久久aⅴ北条麻妃| 欧美裸身视频免费观看| 国产精品麻豆va在线播放| 色噜噜国产精品视频一区二区| 蜜臀久久99精品久久久无需会员| 欧美精品一区在线播放| 中文字幕亚洲无线码a| xx视频.9999.com| 国产精品久久久久久久久男| 成人欧美一区二区三区黑人| 国产精品一区二区在线| 亚洲国产成人精品久久久国产成人一区| 亚洲福利视频网站| 久久国产精品免费视频| 欧美激情xxxx| 亚洲精品久久久久久久久久久久久| 国产一区二区美女视频| 日韩高清欧美高清| 精品久久久国产| 91久久久久久久久久| 国产精品电影久久久久电影网| 色婷婷av一区二区三区久久| 亚洲欧美一区二区三区久久| 亚洲自拍偷拍第一页| 亚洲国产欧美一区二区三区同亚洲| 亚洲精品国产品国语在线| 日本韩国在线不卡| 高清欧美性猛交xxxx| 国产精品久久久久久久美男| 亚洲国产欧美一区二区三区久久| 国产精品欧美久久久| 国产成人综合精品在线| 久久免费视频在线观看| 国产精品18久久久久久首页狼| 欧美激情欧美狂野欧美精品| 欧美精品www| 一色桃子一区二区| 国产精品永久在线| 4438全国亚洲精品在线观看视频| 9.1国产丝袜在线观看| 久久这里有精品| 国产精品成人一区| 国产欧洲精品视频| 国产精品久久久| 日本三级久久久| 51久久精品夜色国产麻豆| 国产成人精品av在线| 欧美在线一区二区三区四| 成人免费观看网址| 国产日韩欧美在线看| 亚洲人成网站777色婷婷| 91在线中文字幕| 伦理中文字幕亚洲| 国产亚洲欧美另类中文| …久久精品99久久香蕉国产| 欧美日韩中文字幕| 亚洲激情小视频| 91在线国产电影| 亚洲香蕉av在线一区二区三区| 亚洲天堂色网站| 国产区精品视频| 日韩激情第一页| 日韩免费av在线| 日韩美女激情视频| 国产精品久久久久久影视| 亚洲午夜未删减在线观看| 超碰精品一区二区三区乱码| 国产精品久久一区| 国产精品久久久久久久久久久新郎| 黑丝美女久久久| 91精品久久久久久久久中文字幕| 久久777国产线看观看精品| 疯狂欧美牲乱大交777| 久久久久久久久久久网站| 精品亚洲一区二区三区| 琪琪亚洲精品午夜在线| 日韩精品中文字幕有码专区| 日韩中文有码在线视频| 精品国偷自产在线| 国产精品第一视频| 久久久久久美女| 亚洲欧美中文日韩在线v日本| 亚洲男人的天堂网站| 色视频www在线播放国产成人| 亚洲欧美在线免费观看| 欧美一级大片在线免费观看| 国内精品久久久久影院 日本资源| 91超碰中文字幕久久精品| 38少妇精品导航| 18性欧美xxxⅹ性满足| 国产美女搞久久| 美女精品视频一区| 亚洲精品xxxx| 久久精品2019中文字幕| 韩国视频理论视频久久| 91网站免费看| 国产日韩欧美在线| 久久亚洲综合国产精品99麻豆精品福利| 欧美亚州一区二区三区| 91免费的视频在线播放| 久久综合五月天| 国模精品视频一区二区| 亚洲色图狂野欧美| 国产精品影片在线观看| 国产欧美一区二区三区在线| 日韩av在线直播| 国产不卡精品视男人的天堂| 久久777国产线看观看精品| 亚洲综合中文字幕在线观看| 亚洲欧美一区二区三区情侣bbw| 久久久久国产精品免费网站| 日韩在线激情视频| 亚洲精品wwww| 国产精品久久久久久久av大片| 日韩av片电影专区| 一区二区三区回区在观看免费视频| 性欧美长视频免费观看不卡| 91精品在线观看视频| 美女扒开尿口让男人操亚洲视频网站| 久久久免费观看视频| 精品视频在线播放色网色视频| 亚洲欧洲一区二区三区在线观看| 欧美日韩国产色视频| 亚洲国产精品久久91精品| 亚洲国产欧美一区| 欧美大片在线免费观看| 91最新在线免费观看| 一本一本久久a久久精品牛牛影视| 国产91精品在线播放| 亚洲人成在线观看网站高清| 亚洲国产精品高清久久久| 国产精品久久一区| 国产成人亚洲综合91|