递归
def binary_search(alist,target):
n=len(alist)
if n>0:
mid=n//2
if alist[mid]==target:
return True
elif alist[mid]>target:
return binary_search(alist[:mid],target)
else alist[mid]<target:
return binary_search(alist[mid+1:],target)
return False
循环
def binary_search(alist,target):
first=0
last=len(alist)-1
while first<=last:
mid = (first + last) // 2
if alist[mid]==target:
True
elif alist[mid]>target:
last=mid-1
else alist[mid]<target:
first=mid+1
return False