1. 程式人生 > >4-8日 遞歸和二分查找

4-8日 遞歸和二分查找

style def AS python 查找 技術分享 lap open earch

1,遞歸函數

在函數中調用函數本身自己。執行一次開辟一個空間,python對你的內存有一個保護機制,默認只能遞歸到998層。

技術分享圖片
def func(n):
    n += 1
    print(n)
    func(n)
func(0)
View Code

2,二分查找

二分查找前提是有序且唯一的數字列表。

li = [1,21,30,32,44,55,56,433,]
def search(num,l,start=None,end=None):
    start = start if start else 0
    end = end if end else len(l) - 1
    mid 
= (end - start)//2 + start if start > end: return None elif l[mid] > num : return search(num,l,start,mid-1) elif l[mid] < num: return search(num,l,mid+1,end) elif l[mid] == num: return mid print(search(44,li))

4-8日 遞歸和二分查找