標籤:dex return lap find 執行個體 one end nbsp ==
# 初始遞迴
1 # 初始遞迴2 # def func1():3 # print(‘in func1‘)4 # func1()5 #6 # func1()
View Code
# 遞迴的定義:在一個函數裡再調用這個函數本身
# 測試遞迴最大深度
1 #測試最大遞迴深度2 # def func1(n):3 # print(n)4 # n+=15 # func1(n)6 #7 # func1(0)
View Code
#簡單一實例
1 #簡單一實例2 # def age(n):3 # if n==1:4 # return 405 # else:6 # return age(n-1)+27 #8 # print(age(4))
View Code
#遞迴的優點:讓代碼更簡單
#遞迴的缺點:占記憶體
# 二分尋找演算法 (有序列表)
# 執行個體
#尋找元素66的索引l = [2,3,5,10,15,16,18,22,26,30,32,35,41,42,43,55,56,66,67,69,72,76,82,83,88]# print(l.index(66))# n=0# for i in l:# if i==66:# print(n)# n+=1# def find(l,aim,start=0,end=None):# end=len(l)if end is None else end# mid_index=(end-start)//2+start# if start<=end:# if l[mid_index]<aim:# return find(l,aim,start=mid_index+1,end=end)# elif l[mid_index]>aim:# return find(l,aim,start=start,end=mid_index-1)# else:# return mid_index# else:# return ‘找不到‘## res=find(l,66)# print(res)
View Code
遞迴函式與二分尋找演算法