遞迴函式與二分尋找演算法

來源:互聯網
上載者:User

標籤: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

 

遞迴函式與二分尋找演算法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.