午夜精品久久久久久久99热-午夜精品久久久久-午夜精品成人毛片-午夜黄网站-国产日韩精品欧美一区视频-国产日韩精品欧美一区色

簡述遞歸算法的優(yōu)缺點(diǎn)(深究遞歸和迭代的區(qū)別優(yōu)缺點(diǎn)及實(shí)例對(duì)比)

簡述遞歸算法的優(yōu)缺點(diǎn)(深究遞歸和迭代的區(qū)別優(yōu)缺點(diǎn)及實(shí)例對(duì)比)

呂飛翰 2025-04-12 科技 74 次瀏覽 0個(gè)評(píng)論
1.迭代是人,遞歸是神!

從“編程之美”的角度看,可以借用一句非常經(jīng)典的話:“迭代是人,遞歸是神!”來從宏觀上對(duì)二者進(jìn)行把握。

從概念上講,遞歸就是指程序調(diào)用自身的編程思想,即一個(gè)函數(shù)調(diào)用本身;迭代是利用已知的變量值,根據(jù)遞推公式不斷演進(jìn)得到變量新值的編程思想。

2.遞歸

遞歸就是函數(shù)自己調(diào)用自己。

2.1構(gòu)成遞歸需具備的條件:子問題須與原始問題為同樣的事,且更為簡單;不能無限制地調(diào)用本身,須有個(gè)出口,化簡為非遞歸狀況處理。2.2遞歸的基本原理

第一:每一級(jí)的函數(shù)調(diào)用都有自己的變量。

第二:每一次函數(shù)調(diào)用都會(huì)有一次返回。

第三:遞歸函數(shù)中,位于遞歸調(diào)用前的語句和各級(jí)被調(diào)用函數(shù)具有相同的執(zhí)行順序。

第四:遞歸函數(shù)中,位于遞歸調(diào)用后的語句的執(zhí)行順序和各個(gè)被調(diào)用函數(shù)的順序相反。

第五:雖然每一級(jí)遞歸都有自己的變量,但是函數(shù)代碼并不會(huì)得到復(fù)制。

2.3遞歸優(yōu)缺點(diǎn)深究遞歸和迭代的區(qū)別、優(yōu)缺點(diǎn)及實(shí)例對(duì)比

2.4編寫一個(gè)遞歸函數(shù)這個(gè)遞歸函數(shù)的功能是什么,怎樣調(diào)用這個(gè)函數(shù),即設(shè)計(jì)好遞歸函數(shù)的返回值和參數(shù)列表什么時(shí)候應(yīng)該結(jié)束這個(gè)遞歸,它的邊界條件(出口)是什么(邊界條件)在非邊界情況時(shí),怎樣從第n層轉(zhuǎn)變成第n+1層(遞推公式)例:int f(int n) {  //出口 if (n > 0) { return n + f(n - 1); } else { return 0; }}解析:深究遞歸和迭代的區(qū)別、優(yōu)缺點(diǎn)及實(shí)例對(duì)比

具體步驟:深究遞歸和迭代的區(qū)別、優(yōu)缺點(diǎn)及實(shí)例對(duì)比

遞歸遞歸,有遞就得有歸(出口),只遞不歸會(huì)導(dǎo)致程序崩潰。

要得到n - 1的積直接調(diào)用 f(x) 這個(gè)函數(shù)就行了,完全不需要思考這個(gè)函數(shù)怎么執(zhí)行的。

3.例題:走樓梯3.1題目描述:

一個(gè)臺(tái)階總共有n級(jí),如果一次可以跳1級(jí),也可以跳2級(jí)。求總共有多少總跳法。I第一行輸入T,表示有多少個(gè)測試數(shù)據(jù)。接下來T行,每行輸入一個(gè)數(shù)n,表示臺(tái)階的階數(shù)。輸出時(shí)每一行對(duì)應(yīng)一個(gè)輸出。

假如一共有三級(jí)臺(tái)階,一共有多少種走法?深究遞歸和迭代的區(qū)別、優(yōu)缺點(diǎn)及實(shí)例對(duì)比

假設(shè)有n級(jí)臺(tái)階,一共有多少種走法?深究遞歸和迭代的區(qū)別、優(yōu)缺點(diǎn)及實(shí)例對(duì)比

當(dāng)n > 2 時(shí),如果走1級(jí)有多少種走法 + 如果走2級(jí)有多少種走法,就是n級(jí)臺(tái)階所有的走法。

4.求n!遞歸法int fun(int n) { if (n == 1) { return 1; } else { return n * fun(n - 1); }}5.求n!迭代法int fun(int n) { int x = 1; for (int i = 2; i <= n; i++) { x *= i; } return x;}6.迭代

迭代與普通循環(huán)的區(qū)別是:迭代時(shí),循環(huán)代碼中參與運(yùn)算的變量同時(shí)是保存結(jié)果的變量,當(dāng)前保存的結(jié)果作為下一次循環(huán)計(jì)算的初始值。

遞歸與普通循環(huán)的區(qū)別是:循環(huán)是有去無回,而遞歸則是有去有回(因?yàn)榇嬖诮K止條件)。

在循環(huán)的次數(shù)較大的時(shí)候,迭代的效率明顯高于遞歸。

6.1現(xiàn)實(shí)中的迭代

迭代的方式有所不同,假如有個(gè)產(chǎn)品要求6個(gè)月交貨,我在第一個(gè)月就會(huì)拿出一個(gè)產(chǎn)品來,當(dāng)然,這個(gè)產(chǎn)品會(huì)很不完善,會(huì)有很多功能還沒有添加進(jìn)去,bug很多,還不穩(wěn)定,但客戶看了以后,會(huì)提出更詳細(xì)的修改意見,這樣,你就知道自己距離客戶的需求有多遠(yuǎn),我回家以后,再花一個(gè)月,在上個(gè)月所作的需求分析、框架設(shè)計(jì)、代碼、測試等等的基礎(chǔ)上,進(jìn)一步改進(jìn),又拿出一個(gè)更完善的產(chǎn)品來,給客戶看,讓他們提意見。就這樣,我的產(chǎn)品在功能上、質(zhì)量上都能夠逐漸逼近客戶的要求,不會(huì)出現(xiàn)我花了大量心血后,直到最后發(fā)布之時(shí)才發(fā)現(xiàn)根本不是客戶要的東西的情況。

6.2優(yōu)勢

這個(gè)過程也很像打游戲,你剛開始玩,一下子就輸了,但是隨著你玩的次數(shù)越來越多,你的技藝就越來越精湛,而這個(gè)結(jié)果,不是你在開始玩游戲的時(shí)候,規(guī)劃出來的,而是在你玩的過程中,通過不斷的輸不斷的輸,練出來的。

所以,你能達(dá)成的結(jié)果,都是在你做的過程中,不斷試錯(cuò),不斷調(diào)整,不斷精進(jìn),最后自然而然得到的一個(gè)結(jié)果。

所以,我們不能把迭代簡單的理解為“升級(jí)”。

升級(jí),更多描述的是一個(gè)結(jié)果,是一種直接的,一次性的,達(dá)成的一個(gè)目標(biāo),是一種線性的進(jìn)程。

而迭代,是通過無數(shù)次,不斷的,重復(fù)的,接近一個(gè)目標(biāo),折返接近,再折返再接近,最終達(dá)到目標(biāo)。它不是一次性完成的,是通過不斷重復(fù)的,但每次重復(fù)又比之前更好一點(diǎn),這樣一種非線性的進(jìn)程。

現(xiàn)在我們把“迭代”的關(guān)鍵詞拆解一下:

1.重復(fù):

不斷的重復(fù)做,而不是一次性的完成。

2.改進(jìn)

在做的過程中不斷的改進(jìn)、調(diào)整、優(yōu)化。

3.認(rèn)知升級(jí)

迭代的過程就是不斷提高認(rèn)知的過程,升級(jí)只是這個(gè)過程的一個(gè)結(jié)果。

轉(zhuǎn)載請(qǐng)注明來自夕逆IT,本文標(biāo)題:《簡述遞歸算法的優(yōu)缺點(diǎn)(深究遞歸和迭代的區(qū)別優(yōu)缺點(diǎn)及實(shí)例對(duì)比)》

每一天,每一秒,你所做的決定都會(huì)改變你的人生!

發(fā)表評(píng)論

快捷回復(fù):

評(píng)論列表 (暫無評(píng)論,74人圍觀)參與討論

還沒有評(píng)論,來說兩句吧...

主站蜘蛛池模板: 亚洲精品第一国产麻豆 | 性v天堂| 中文精品99久久国产 | 99色视频在线| 国产瑟瑟 | 最新地址在线观看 | 啊v天堂在线 | 欧美一区2区 | 亚洲视频日韩视频 | 麻豆免费视频网站 | 在线免费亚洲 | 四虎影视国产精品一区二区 | 国色天香社区视频免费 | 最近的中文字幕免费完整 | 深爱婷婷网 | 狠狠亚洲婷婷综合色香五 | 久久久国产99久久国产首页 | 亚洲欧美一区二区三区麻豆 | 一级毛片在线全部免费播放 | 中文字幕久久网 | 亚洲成电影在线观看青青 | 亚洲福利视频导航 | 欧美日韩免费在线 | 国内精品久久久久影院一蜜桃 | 亚洲第一福利网 | 羞羞视频免费在线观看 | 伊人久久婷婷丁香六月综合基地 | 98精品视频| 四月婷婷七月婷婷综合 | 亚洲国产成人在人网站天堂 | 蜜桃网欧美日韩一区二区三区 | 国产福利在线观看精品 | 狠狠色丁香婷婷综合小时婷婷 | 自拍偷拍综合网 | 5月婷婷6月丁香 | 亚洲福利一区 | 亚洲青草视频 | 欧美一区二区三区性 | 免费看羞羞视频的网站 | 精品国产麻豆免费网站 | 国内精品 大秀视频 日韩精品 |