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基础教程
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)