python 遞迴簡單描述和一些例項

2021-09-12 21:21:07 字數 759 閱讀 9812

'''

什麼是遞迴:在函式中呼叫自身函式.

最大遞迴深度預設是997/998 —— 是python從記憶體角度出發做得限制

recursionerror: maximum recursion depth exceeded while calling a python object

遞迴的錯誤,超過了遞迴的最大深度

import sys

sys.setrecursionlimit(1000000) 修改遞迴最大深度

如果遞迴次數太多,就不適合使用遞迴來解決問題

遞迴的缺點 : 佔記憶體

遞迴的優點:  會讓**變簡單

'''#二分查詢演算法實現

def find(l,aim):

mid_index = len(l) // 2

if l[mid_index] < aim:

new_l = l[mid_index+1 :]

find(new_l,aim)

elif l[mid_index] > aim:

new_l = l[:mid_index]

find(new_l, aim)

else:

print('找到了',mid_index,l[mid_index])

find(l,66)

# 斐波那契  # 問第n個斐波那契數是多少

def fib(n,a=1,b=1):

if n==1 : return a

return fib(n-1,b,a+b)

關於棧的一些簡單描述

關於迴圈佇列的隊滿與隊空的條件都是front rear,如何區分,對於這些問題,剛學習的我有一些簡單的認識,希望大家能指正我的錯誤 設立乙個tag標識再加上rear front即可作為隊滿與隊空的判斷依據,在入隊時tag 1,出隊時tag 0,這樣的話,當rear front且tag 1時為隊滿,當...

python 一些簡單練習(1)

1.輸入乙個數字,求從1到這個數的所有十位數和個位數不相同的數字組合及這樣的數的個數 n 0 x input 請輸入數字 for item in range 1,int x for item2 in range 1,int x if item item2 pass else item3 str it...

資料結構 C 描述 一些常見的遞迴函式

code 計算n int factorial int n 遞迴計算a 0 n 1 之和 template t rsum t a,int n return 0 檢查n個不同元素的所有排列方式,n個元素的排列方式共有n 種 template inline void swap t a,t b templa...