python遞迴(一分鐘讀懂)
遞迴:就是自己去引用自己!
遞迴式函式:在函式中自己呼叫自己!
無窮遞迴:如果這個函式被呼叫,程式的記憶體會溢位,效果類似於死迴圈
遞迴是解決問題的一種方式,它和迴圈很像
它的整體思想是,將一個大問題分解為一個個的小問題,直到問題無法分解時,再去解決問題
遞迴式函式的兩個要件
1.基線條件
- 問題可以被分解為的最小問題,當滿足基線條件時,遞迴就不在執行了
2.遞迴條件
- 將問題繼續分解的條件
遞迴和迴圈類似,基本是可以互相代替的
1.迴圈編寫起來比較容易,閱讀起來稍難
2.遞迴編寫起來難,但是方便閱讀
例子:
該函式用來求任意數的階乘
引數:
n 要求階乘的數字
def a(n):
if n == 1 : # 基線條件 判斷n是否為1,如果為1則此時不能再繼續遞迴
return 1 # 1的階乘就是1,直接返回1
return n * a(n-1) # 遞迴條件 遞迴式函式:在函式中自己呼叫自己!
print(a(4)) # 4*3*2*1
相關文章
- 【淺談設計模式(二)】讓你一分鐘讀懂設計模式設計模式
- [淺談設計模式(二)] 讓你一分鐘讀懂設計模式設計模式
- [淺談設計模式(一)] 讓你一分鐘讀懂設計模式設計模式
- [淺談設計模式(三)] 讓你一分鐘讀懂設計模式設計模式
- 【淺談設計模式(三)】讓你一分鐘讀懂設計模式設計模式
- 2分鐘讀懂javaJava
- 一文讀懂連結串列反轉(迭代法和遞迴法)遞迴
- 五分鐘讀懂UML類圖
- 一分鐘sed入門(一分鐘系列)
- 一分鐘教你批次匯出申通快遞到表格
- 1.5.6 python遞迴函式Python遞迴函式
- 13.0、python遞迴函式Python遞迴函式
- python-動態規劃的遞迴、非遞迴實現Python動態規劃遞迴
- 五分鐘讀懂什麼是容器雲
- 一文學懂遞迴和動態規劃遞迴動態規劃
- 遞迴和尾遞迴遞迴
- 3分鐘讀懂火熱的人工智慧!人工智慧
- 三分鐘讀懂客戶端證書客戶端
- 快速排序【遞迴】【非遞迴】排序遞迴
- Python 八皇后解法(非遞迴版本)Python遞迴
- Python進階-演算法-遞迴Python演算法遞迴
- Python遞迴演算法詳解Python遞迴演算法
- 【python】遞迴聽了N次也沒印象,讀完這篇你就懂了Python遞迴
- python實現二叉樹及其七種遍歷方式(遞迴+非遞迴)Python二叉樹遞迴
- 一分鐘帶你瞭解Python私有變數的用法!Python變數
- 遞迴遞迴
- python 遞迴樹狀結構 和 排序Python遞迴排序
- 遞迴求填空結果的python程式遞迴Python
- Python 函式進階-遞迴函式Python函式遞迴
- python基礎(補充):遞迴的深度Python遞迴
- 二叉平衡樹 python 列表 遞迴Python遞迴
- 讓價值迴歸價值—讀懂黑馬POE
- 5分鐘讀懂設計模式(2)---裝飾者模式設計模式
- 一分鐘玩轉 Spring IoC!Spring
- 一分鐘玩轉 Spring IoCSpring
- 什麼是遞迴?遞迴和迴圈的異同遞迴
- [work] python巢狀字典的遞迴遍歷Python巢狀遞迴
- python 遞迴和二分法Python遞迴