Python遞迴函式 二分查詢法的應用

2021-09-08 20:22:29 字數 2004 閱讀 2481

目錄

1.遞迴函式的準備知識:

2.遞迴函式的定義

3.在使用遞迴時,需要注意以下幾點

(1).自己呼叫自己

(2).必須有乙個明確的遞迴結束條件,稱為遞迴出口

4.遞迴函式的小練習

(1)使用遞迴函式向控制台列印 3,2,1

**:分析:

(2)1到10的階乘:1*2*3...........*10

**:分析:

(3)查詢數字,通過程式查詢輸入的number值

1,2,3,4,5,6,7,8,9,10

思路:使用二分查詢法

**:分析:

def func1():

print('func1...')

def func2():

print('func2....start')

func1()

print('func2...end')

def func3():

print('func3...start')

func2()

print('func3..end')

func3()

# func3...start

# func2....start

# func1...

# func2...end

# func3..end

如果乙個函式

在內部呼叫自身本身

,這個函式就是遞迴函式。

# 練習一:使用遞迴函式向控制台列印3,2,1

def print_num(num):

print(num)

if num == 1:

return

num = num - 1

print_num(num) # 呼叫自己

# 練習二:1到10的階乘1*2*3*4......*10

先找中間值:中間值=(開始值+結束值)//2

如果要找的數比中間值大,到後一半找

如果要找的數比中間值小,就到前一半找

# 練習三:查詢數字:通過程式查詢輸入的number值

# 1,2,3,4,5,6,7,8,9,10

# 二分查詢法

def search_num(number, start, end):

if number == start:

return start

elif number == end:

return end

else:

# 獲得中間值

二分查詢法 遞迴

查詢關鍵字元 二分 折半 查詢法 縮小區域 前題 查詢序列是有序 降 公升序 二分查詢法思想 公升序 1 每次取序列中間元素進行比較 2 如果key mid,說明查詢值在中間元素的右側,如果key程式實現 include void findkey const int buf,int left,int...

python之遞迴函式,二分查詢

遞迴函式一直都是我們所覺得難理解的以一種方式,但其實,也很好理解的,遞迴函式就是自己呼叫自己。就是在重複的做同一件事情。只是有的時候,也最好不要使用遞迴函式,因為你的函式一旦呼叫,就要開闢新的記憶體空間。不利於程式的執行。python對你記憶體乙個保護機制,預設只能遞迴到998層。來看個例子吧。這個...

python遞迴查詢 python 遞迴,二分查詢

print list 胡辣湯 lst 河南話 四川話 東北 山東 上海 r reversed lst print list r huiwen 不是上海自來水來自海上 s huiwen 1 it reversed huiwen 返回的是迭代器 s for el in it s el print s l...