資料結構與演算法 10 遞迴呼叫

2022-06-23 23:33:13 字數 513 閱讀 5928

遞迴詳解-典型遞迴介紹

1.如何理解「遞迴」?(什麼是遞迴)

去的過程叫「遞」,回來的過程叫「歸」f(n)=f(n-1)+1

備註:去的過程入棧的過程,回來的過程出棧

2.遞迴需要滿足的三個條件(遞迴的特點)

2.1. 乙個問題的解可以分解為幾個子問題的解

2.2. 這個問題與分解之後的子問題,除了資料規模不同,求解思路完全一樣

2.3. 存在遞迴終止條件

3.如何編寫遞迴**?(怎樣實現遞迴)

3.1寫出遞推公式,找到終止條件

歸納:寫遞迴**的關鍵就是找到如何將大問題分解為小問題的規律,並且基於此寫出遞推公式,然後再推敲終止條件,最後將遞推公式和終止條件翻譯成**

編寫遞迴**的關鍵是,只要遇到遞迴,我們就把它抽象成乙個遞推公式,不用想一層層的呼叫關係,不要試圖用人腦去分解遞迴的每個步驟

4.注意點(遞迴弊端)

遞迴**要警惕堆疊溢位

遞迴**要警惕重複計算

都可以將遞迴使用迴圈+棧實現

資料結構與演算法 10 遞迴

深入理解遞迴 舉個假想的例子 咱來到cba上海隊球館看一場激烈的常規賽,賽場座位都坐滿了,這時候女朋友 老婆大人問你我們現在坐的是第幾排?人這麼多,個子矮,看不清咋辦?遞迴派上用場了 問前面的朋友他是第幾排?在他的排數上 1 就知道自己的排數了。那前面的朋友一臉萌比也不知道怎麼辦呢?沒事,告訴他讓他...

資料結構與演算法 遞迴

一 概念 遞迴是一種高效 簡介的編碼技巧,一種應用很廣泛的演算法,比如dfs深度優先搜尋,前中後序二叉樹遍歷等都是使用遞迴。方法或函式呼叫自身的方式成為遞迴呼叫,呼叫稱為遞,返回成為歸 所有遞迴問題都可以用遞迴公式來表示 二 遞迴優缺點 優點 簡潔 缺點 堆疊溢位風險 可根據調整遞迴呼叫的最大深度來...

資料結構與演算法 認識遞迴

淺識 1 遞迴與迴圈 理論上,任何迴圈都可以重寫為遞迴形式 有些語言沒有迴圈語句,只能使用遞迴。2 迴圈改遞迴 1 發現邏輯 相似性 2 一定要有 出口 不然就會死迴圈 3 構造相似性 如果沒有明顯的相似性,可能是缺少引數,需要主動構造,與遞推類似 4 遞迴呼叫 1 遞迴呼叫僅僅是被調函式正好是主調...