python基礎 遞迴與二分法

2022-04-28 23:09:29 字數 573 閱讀 8419

一般換做巢狀函式換做自己執行自己

1,必須有乙個明確的結束條件

2,每次進入新一層遞迴時,問題規模比上次遞迴都應有所減少

3,效率不高,層次過多導致棧溢位

所以,要寫遞迴函式主要邏輯必需不斷呼叫,而遇到if 條件必須終止

# 二分法

data = [1, 3, 6, 7, 9, 12, 14, 16, 17, 18, 20, 21, 22, 23, 30, 32, 33, 35]

def search(num,data):

if len(data)>1:

mid_index=int(len(data)/2)

mid_value=data[mid_index]

if num>mid_value:

# num in right

data=data[mid_index:]

search(num,data)

elif numfind it', data)

else:

print("no find!")

search(23,data)

python 遞迴與二分法

一 遞迴呼叫的定義 遞迴呼叫是函式巢狀呼叫的一種特殊形式,函式在呼叫時,直接或間接呼叫了自身,就是遞迴呼叫二 遞迴分為兩個階段 遞推,回溯 salary 5 salary 4 300 salary 4 salary 3 300 salary 3 salary 2 300 salary 2 salar...

C 二分法查詢,遞迴二分法

用二分法來求需要查詢的值.includeusing namespace std 查詢key元素是否存在 int findkey const int buf 100 const int ilen,const int key else right left mid 1 查詢失敗 return 1 查詢k...

python之遞迴與二分法

1.遞迴 自己呼叫自己 遞迴的入口 引數 和 出口 return 樹形結構的遍歷 import osdef func lujing,n lst os.listdir lujing 開啟資料夾,列出所有檔案 for el in lst el 每乙個檔案 path os.path.join lujing...