4 4 遞迴函式

2021-10-12 12:55:52 字數 877 閱讀 8950

遞迴函式就是不斷

呼叫自身函式。

遞迴需要設定

繼續或終止條件

,當條件滿足時繼續或終止遞迴過程。

1. 遞迴函式的呼叫就是不斷將引數

壓入棧幀

並從當前函式的入口位址繼續執行

2. 遞迴函式的返回就是沿著呼叫過程的相反路徑逐層

彈出棧幀

逐層返回上一級

3. 遞迴函式的呼叫層級

不宜過深

,否則極有可能導致函式棧溢位

4. 一般而言,若不能使演算法得到明顯簡化,應

盡量避免

使用遞迴 1)

使用遞迴的正面典型:

漢諾塔問題

2)使用遞迴的反面典型:

斐波那契數列

問題

// 遞迴函式是不斷呼叫自己直到滿足特定條件的函式 

// f f f f f f

// | ___/| ___/| ___/| ___/| ___/|

// |/ |/ |/ |/ |/ |

// |

// |\___ |\___ |\___ |\___ |\___ |

// | \| \| \| \| \|

// v v v v v v

package main

import "fmt"

func factorial(n int) int

return n * factorial(n-1)

} func main()

}

4 3遞迴 4 4貪心

目錄 4.3遞迴 4.4貪心 pat a1070 mooncake 25 分 pat a1033 to fill or not to fill 25 分 pat a1033 to fill or not to fill 25 分 pat a1067 sort with swap 0,i 25 分 p...

44 使用函式裝飾器

某些時候我們想問多個函式統一新增某種功能,比如計時統計 記錄日誌 快取運算結果等等。我們不想在每個函式內新增完全相同的 如何更好的達成目的呢?要求 不在每個函式內新增完全相同的 的前提下實現功能。解決方案 定義裝飾器函式,用它生成乙個在原函式基礎上新增了新功能的函式,替代原函式。python的裝飾器...

遞迴非遞迴寫函式

2.編寫乙個函式實現n k,使用遞迴實現 分析 n的k次 n n n n n k個n 用遞迴的思想來講,就等於n n的 k 1 次方 include include pragma waring disable 4996 int fun int n,int k int main 3.寫乙個遞迴函式di...