遞迴定義:若乙個物件部分地包含它自己, 或用它自己給自己定義, 則稱這個物件是遞迴的;若乙個過程直接地或間接地呼叫自己, 則稱這個過程是遞迴的過程。
在以下三種情況下,常常用到遞迴方法。
(1)定義是遞迴的
(2)資料結構是遞迴的
(3)問題的解法是遞迴的
設計思想:尋找遞迴關係,確定遞迴出口。
遞迴關係:將整個問題分解成若干個子問題,通過分別求解子問題,最後獲得整個問題的解,其中部分子問題的解決方法和解決整個問題的方法一樣,這就是遞迴關係。
遞迴出口:整個問題分解成若干個子問題,子問題繼續分解,如此反覆進行,直到子問題無需再分解或不能再分解,直接得到結果時,這就是遞迴出口。
遞迴演算法的設計:首先判斷是否滿足出口條件,滿足執行出口操作;否則用同樣的方法解決子問題。
每一次遞迴呼叫進入下一層時,為了能正確返回並繼續操作,需要儲存返回位址及過程中使用的引數、區域性變數等。層層向下遞迴,返回時的次序與進入的次序正好相反,由於需要儲存的每層資訊滿足後進先出的原則,因此利用棧的組織空間儲存每層資訊,從而形成遞迴工作棧。
資料結構小結
資料結構就是乙個集合 資料結構 邏輯結構 線性資料結構 線性表 棧 佇列 字串 陣列 對應順序表 非線性資料結構 集合 樹結構 圖 儲存結構 順序儲存結構 順序表 非順序儲存結構 鏈式儲存結構 鍊錶 由指標來實現 雜湊 雜湊 索引 一種邏輯結構可以使用不同的儲存結構,那麼就會形成不同的名稱。線性表是...
資料結構小結
if you give a person a program,you ll frustrate him for a day.if you teach a person to program,you will frustrate them for a lifetime 1946年世界上第一台計算機問世...
資料結構小結
有四種基本型別 集合結構 線性結構 樹狀結構和網路結構。包括順序儲存 鏈式儲存 索引儲存 雜湊儲存。這個時候,我們可以得出這麼個雜湊函式 f 0 0,f 1 1,f 20 20,這個是根據我們自己設定的直接定址來的。人數我們可以不管,我們關心的是如何通過關鍵字找到位址。例子 一 線性表 特點 首無前...