1、将中间标值mid的元素e取到数列中,进行查找元素key的比较。
2、如果相等查找成功,若不等,大于则只需在后半部分查找,小于则需在前半部分查找。
实例
defbinary_search(my_list,key): left=0 right=len(my_list) whileleft<=right: mid=(right-left)//2 ifmy_list[left+mid]<key: left=left+mid+1 elifmy_list[left+mid]>key: right=left+mid-1 else: returnleft+mid return"None" if__name__=="__main__": my_list=[1,3,5,7,9,11,13] print("二分查找的原始数列:",my_list) print("二分查找的返回结果:",binary_search(my_list,3))
以上就是python二分查找的原理,希望对大家有所帮助。更多Python学习指路:Python基础教程