【二分查找法】
★ 二分查找,是一种效率较高的查找方法。但是,二分查找要求元素按关键字有序排列。
★ 二分查找每一次查找都使查找范围缩小一半,与顺序查找相比,很显然会提高查找效率。为了标记查找过程中每一次的查找区间,分别用low和high来表示当前查找区间的下界和上界,为区间的中间位置。
【算法分析】
二分查找要求元素按关键字有序排列。
【算法代码】
def binarySearch(lst, key):
low=0
high=len(lst)-1
while low<=high:
mid=(low+high)//2
if key<lst[mid]:
high=mid-1
elif key==lst[mid]:
return mid
else:
low=mid+1
return -1
lst=list(map(int,input().split()))
key=int(input())
t=binarySearch(lst,key)
print(t)
'''
in:
1 3 6 7 9
7
out:
3
'''