05-遞歸

遞歸是函數(shù)對自身的調(diào)用,為了防止死循環(huán)的發(fā)生,需要基線條件的設(shè)立,給出遞歸結(jié)束的條件。

1. 什么是遞歸

遞歸是函數(shù)內(nèi)部對函數(shù)本身的調(diào)用,需要注意基線條件進(jìn)行遞歸的結(jié)束和返回值。

2. 遞歸的優(yōu)缺點

  • 優(yōu)點
    • 遞歸能夠解決同一條件的數(shù)據(jù)內(nèi)部循環(huán)問題
  • 缺點
    • 函數(shù)遞歸不能用于處理大量數(shù)據(jù)的遞歸,會造成性能的阻塞,因為遞歸調(diào)用會一級一級的卡住,直到最后一次有了結(jié)果再一次一次的返回結(jié)果。

3. 代碼

def count_down(num):
  print(num)
  # 基線條件
  if num<=1:
    return
  count_down(num-1)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 小練習(xí)1:N的階乘 遞歸需要注意的兩點:1.找規(guī)律、2.找出口。沒有出口的話遞歸就會無限死循環(huán),所以必須用一個已知...
    耦耦閱讀 233評論 0 0
  • 函數(shù)式編程語言中通常沒有類似for和while這樣的循環(huán)結(jié)構(gòu) 遞歸的定義就是:調(diào)用自己的函數(shù)。不過僅僅讓函數(shù)調(diào)用自...
    shixiongfei閱讀 454評論 0 0
  • Haskell 中沒有 for 和 while 循環(huán),而使用遞歸解決循環(huán)問題。 所謂遞歸,就是將一個大問題分解為兩...
    勤勞的悄悄閱讀 166評論 0 0
  • 感謝社區(qū)中各位的大力支持,譯者再次奉上一點點福利:阿里云產(chǎn)品券,享受所有官網(wǎng)優(yōu)惠,并抽取幸運大獎:點擊這里領(lǐng)取 在...
    HetfieldJoe閱讀 1,885評論 0 14
  • 簽證下來后,機(jī)票也很快定了下來。離開港城之前,忍不住還想再看一眼牡丹。于是,一大早就直奔植物園中的牡丹園而來,走近...
    牛犁閱讀 2,143評論 52 69

友情鏈接更多精彩內(nèi)容