二分查找
经典的查找算法,在一个已经排序的序列中,查找指定的值,若找到,返回索引。每次都将解的搜索空间大小缩小为原先的一半。
#二分查找
def binary_search_1(A, x):
i,j = 0,len(A)-1
while i<=j:
k=(i+j)//2
if x == A[k]:
return k
elif x <A[k]:
j = k-1
else:
i = k + 1
return -1