二分法python实现


def bin_search(list,item):
low=0
high=len(list)-1
while low<=high: #4
mid = round(((low + high) / 2)+0.1,0) #1
#mid=(low + high) / 2
guess=list[int(mid)]
if guess==item:
return int(mid)
if guess>item:
high=mid-1 #2
else:
low=mid+1 #3
return None

my_list=[1,3,5,7,9]
print(bin_search(my_list,7))

注意二分法的思想,实现中四处标记的原理,以及第四处加等号和不加等号的影响


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM