遞歸和迭代

  • 遞歸的基本概念:程序調(diào)用自身的編程技巧稱為遞歸,是函數(shù)自己調(diào)用自己。
  • 使用遞歸要注意的有兩點(diǎn):
    • 遞歸就是在過(guò)程或函數(shù)里面調(diào)用自身浦徊;
    • 在使用遞歸時(shí),必須有一個(gè)明確的遞歸結(jié)束條件,稱為遞歸出口。
  • 遞歸分為兩個(gè)階段:
    • 遞推:把復(fù)雜的問(wèn)題的求解推到比原問(wèn)題簡(jiǎn)單一些的問(wèn)題的求解天梧;
    • 回歸:當(dāng)獲得最簡(jiǎn)單的情況后,逐步返回,依次得到復(fù)雜的解。
int fib(int n)
{
   if(0 == n)
       return 0;
   if(1 == n)
       return 1;
   if(n > 1)
       return fib(n-1)+fib(n-2);
}

  • 迭代:利用變量的原值推算出變量的一個(gè)新值呢岗。
    • 如果遞歸是自己調(diào)用自己的話,迭代就是A不停的調(diào)用B后豫;
    • 對(duì)一組命令(或一定步驟)進(jìn)行重復(fù)執(zhí)行悉尾,在每次執(zhí)行這組命令(或步驟)時(shí)挫酿,都從變量的原值退出它的一個(gè)新值构眯。
  • 利用迭代算法解決問(wèn)題早龟,需要做好以下三個(gè)方面的工作:
    • 確定迭代變量:在可以用迭代算法解決的問(wèn)題中鸵赖,至少存在一個(gè)直接或間接地不斷由舊值遞推出新值的變量,這個(gè)變量就是迭代變量;
    • 建立迭代關(guān)系:所謂迭代關(guān)系饵骨,指如何從變量的前一個(gè)值推出其下一個(gè)值的公式(或關(guān)系)翘悉。迭代關(guān)系式的建立是解決問(wèn)題的關(guān)鍵居触,通逞欤可以使用遞推或倒推的方法來(lái)完成轮洋;
    • 對(duì)迭代過(guò)程進(jìn)行控制:在什么時(shí)候結(jié)束迭代過(guò)程制市。

  • 遞歸中一定有迭代,但是迭代中不一定有遞歸祥楣,大部分可以相互轉(zhuǎn)換。
  • 能用迭代的不用遞歸,遞歸調(diào)用函數(shù)责鳍,浪費(fèi)空間,并且遞歸太深容易造成堆棧的溢出兽间。

  • 遞歸設(shè)計(jì):
    • 先寫出一次執(zhí)行函數(shù);
    • 再寫母函數(shù)嘀略,按條件調(diào)用自己恤溶。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末帜羊,一起剝皮案震驚了整個(gè)濱河市咒程,隨后出現(xiàn)的幾起案子逮壁,更是在濱河造成了極大的恐慌孵坚,老刑警劉巖窥淆,帶你破解...
    沈念sama閱讀 217,509評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件卖宠,死亡現(xiàn)場(chǎng)離奇詭異忧饭,居然都是意外死亡扛伍,警方通過(guò)查閱死者的電腦和手機(jī)词裤,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門刺洒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)吼砂,“玉大人逆航,你說(shuō)我怎么就攤上這事∫蚶” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 163,875評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵周偎,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我蓉坎,道長(zhǎng)澳眷,這世上最難降的妖魔是什么蛉艾? 我笑而不...
    開(kāi)封第一講書人閱讀 58,441評(píng)論 1 293
  • 正文 為了忘掉前任钳踊,我火速辦了婚禮,結(jié)果婚禮上箍土,老公的妹妹穿的比我還像新娘逢享。我一直安慰自己吴藻,他們只是感情好瞒爬,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,488評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布沟堡。 她就那樣靜靜地躺著侧但,像睡著了一般航罗。 火紅的嫁衣襯著肌膚如雪禀横。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 51,365評(píng)論 1 302
  • 那天柏锄,我揣著相機(jī)與錄音,去河邊找鬼复亏。 笑死,一個(gè)胖子當(dāng)著我的面吹牛缔御,可吹牛的內(nèi)容都是我干的抬闷。 我是一名探鬼主播耕突,決...
    沈念sama閱讀 40,190評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼笤成,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼眷茁!你這毒婦竟也來(lái)了炕泳?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 39,062評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤喊崖,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后雇逞,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體嗓蘑,經(jīng)...
    沈念sama閱讀 45,500評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡灰嫉,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,706評(píng)論 3 335
  • 正文 我和宋清朗相戀三年尝胆,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了掉蔬。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片廊宪。...
    茶點(diǎn)故事閱讀 39,834評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡女轿,死狀恐怖箭启,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情蛉迹,我是刑警寧澤,帶...
    沈念sama閱讀 35,559評(píng)論 5 345
  • 正文 年R本政府宣布北救,位于F島的核電站珍策,受9級(jí)特大地震影響托启,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜屯耸,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,167評(píng)論 3 328
  • 文/蒙蒙 一蹭劈、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧持痰,春花似錦、人聲如沸祟蚀。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,779評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)罢维。三九已至肺孵,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間平窘,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,912評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工是鬼, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留肤舞,地道東北人均蜜。 一個(gè)月前我還...
    沈念sama閱讀 47,958評(píng)論 2 370
  • 正文 我出身青樓李剖,卻偏偏與公主長(zhǎng)得像囤耳,于是被迫代替她去往敵國(guó)和親篙顺。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,779評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 一 遞歸 遞歸的基本概念: 程序調(diào)用自身的編程技巧稱為遞歸,是函數(shù)自己調(diào)用自己.一個(gè)函數(shù)在其定義中直接或間接調(diào)用自...
    道阻且長(zhǎng)_行則將至閱讀 929評(píng)論 1 5
  • 感謝社區(qū)中各位的大力支持慰安,譯者再次奉上一點(diǎn)點(diǎn)福利:阿里云產(chǎn)品券,享受所有官網(wǎng)優(yōu)惠化焕,并抽取幸運(yùn)大獎(jiǎng):點(diǎn)擊這里領(lǐng)取 在...
    HetfieldJoe閱讀 1,811評(píng)論 0 14
  • 1、知乎回答摘錄 遞歸是一個(gè)樹(shù)結(jié)構(gòu)铃剔,每個(gè)分支都探究到最遠(yuǎn),發(fā)現(xiàn)無(wú)法繼續(xù)的時(shí)候往回走键兜,每個(gè)節(jié)點(diǎn)只會(huì)訪問(wèn)一次凤类。迭代是一...
    yikemi閱讀 460評(píng)論 0 0
  • 前言 把《C++ Primer》[https://book.douban.com/subject/25708312...
    尤汐Yogy閱讀 9,516評(píng)論 1 51
  • 1普气、調(diào)用Camera的open方法打開(kāi)相機(jī) 2谜疤、調(diào)用Camera的getParameters()方法獲取拍照參數(shù),...
    蘇文星閱讀 230評(píng)論 0 0