全國熱線(xiàn):0536-8800925  手機/微信:18660616712
新聞動(dòng)態(tài)

遞歸—自己調用自己

      遞歸,又譯為遞回,在數學(xué)與計算機科學(xué)中,是指在函數的定義中又調用函數本身的方法。遞歸是一種奇妙的思考問(wèn)題的方法,通過(guò)遞歸的這種思路,可簡(jiǎn)化問(wèn)題的定義。
      遞歸一詞常用于描述以自相似方法重復事物的過(guò)程。例如,當兩面鏡子相互之間近似平行時(shí),鏡中嵌套的圖像是以無(wú)限遞歸的形式出現的
      用遞歸能解決哪些問(wèn)題呢
      遞歸是一種非常接近自然思維的思想,其實(shí)了解多了以后,用起遞歸來(lái)是非常自然的,但不是每個(gè)場(chǎng)合使用遞歸都是合適的。通常遞歸方法適用于層次結構本身就是遞歸定義的情況,比如二叉樹(shù)的遍歷,因為二叉樹(shù)的定義就是“一顆空樹(shù),或者一個(gè)節點(diǎn)+左右兩顆子二叉樹(shù)”,它的定義就是遞歸的,所以用遞歸操作相當方便。
      簡(jiǎn)單來(lái)說(shuō),遞歸問(wèn)題,可以劃分為一個(gè)或多個(gè)子問(wèn)題,而處理子問(wèn)題的規則與處理原問(wèn)題的規則是一樣的。
在實(shí)際應用中要使用遞歸方法,通常需要分析以下3個(gè)問(wèn)題:
1、每一次遞歸調用,在處理問(wèn)題的模式上都應有所縮?。ㄍǔ?wèn)題模型可減半)。
2、相鄰兩次遞歸調用之間有緊密的聯(lián)系,前一次要為后一次遞歸調用做準備,通常是前一次遞歸調用的輸出作為后一次遞歸調用的輸入。
3、在問(wèn)題的模型極小時(shí),必須直接給出解答而不再進(jìn)行遞歸調用,因而每次遞歸調用都是有條件的(以規模未達到直接解答的大小為條件),無(wú)條件遞歸調用將會(huì )成為死循環(huán)而不能正常結束。
根據上面的描述,在設計遞歸算法時(shí),主要需要考慮以下兩方便的問(wèn)題:
1、確定遞歸公式。把規模大的、較難解決的問(wèn)題變成規模較小、易解決的同一問(wèn)題,需要通過(guò)哪些步驟或等式來(lái)實(shí)現?這是解決遞歸問(wèn)題的難點(diǎn)。
2、確定邊界(終了)條件。在什么情況下可以直接得出問(wèn)題的解?這就是問(wèn)題的邊界問(wèn)題一級邊界值。
在線(xiàn)咨詢(xún)
Phone:18660616712
Tel:0536-8800925

關(guān)注我們微信