【python】二分查找,,#每次排除一半的数据
【python】二分查找,,#每次排除一半的数据
#每次排除一半的数据,效率高;局限性:必须是有序序列
应用:
lst=[11,22,33,44,55,66,77,88,99,123,234,345,456,567,678,789,1111]
defbinary_search(left,right,n):
middle=(left+right)//2
ifleft>right:
return-1
ifn>lst[middle]:
left=middle+1
elifn<lst[middle]:
right=middle-1
else:
returnmiddle
returnbinary_search(left,right,n)
print(binary_search(0,len(lst)-1,65))
【python】二分查找
评论关闭