首页 > 编程语言 > 详细

Python 二分法

时间:2019-11-21 22:20:49      阅读:85      评论:0      收藏:0      [点我收藏+]
def BinarySearch(list1, num):
min = 0 # 最小的下标
max = len(list1) - 1 # 最大的下标
i = 0
while True:
i += 1
mid = (max + min) // 2 # 中间的下标每次向下取整
if num > list1[mid]:
min = mid + 1 # 小于需要的猜的数,则将最小下标变为中间的,又因为中间的已经猜过,所以要加1
elif num == list1[mid]:
print("找到数据")
print("一共查找%d次" % i)
break
else:
max = mid - 1 # 大于需要的猜的数,则将最大下标变为中间的,又因为中间的已经猜过,所以要减1


if __name__ == "__main__":
list1 = [1,2,3,4,5,6,7]
num = 7
BinarySearch(list1, num)

Python 二分法

原文:https://www.cnblogs.com/guixie/p/11908540.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!