热线电话:13121318867

登录
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)

6.0399
1
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子