2019-03-12
阅读量:
783
Python 代码实现二分查找
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 = [i for i in range(0,100)]
num = 5
BinarySearch(list1, num)






评论(0)


暂无数据
推荐帖子
0条评论
0条评论
3条评论