二分法检索是一种重要的检索技术,其基本思想是逐步缩小需要考虑的数据范围,从而快速逼近需要找的数据。时间复杂度为O(log n)
def Binsearch(lst,key): #lst是一个顺序表
low, high = 0, len(lst)-1
while low <= high:
mid = (high-low) // 2
if key == lst[mid]:
return mid
if key < lst[mid]:
high = mid - 1
else:
low = mid + 1