全國熱線:0536-8800925
新聞動態(tài)

遞歸—自己調(diào)用自己

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

0536-8800925

關(guān)注我們微信