二分搜索查找

一、对数

  

二、代码

  

 1 def binary_search(lists, item):
 2     # low和high用于跟踪要在其中查找的列表的部分
 3     low = 0
 4     high = len(lists)-1
 5 
 6     while low <= high:  # 只要范围没有缩小到只包含一个元素
 7         mid = (low + high)/2 #就检查中间的元素
 8 
 9         guess = lists[mid]
10         if guess == item: #找到元素
11             return mid
12         if guess > item: # 猜的数字大了
13             high = mid-1
14         else:            # 差的数字小了
15             low = mid+1
16     #  没有指定的元素
17     return None
18 
19 my_list = [1, 3, 5, 7, 9]
20 print(len(my_list))
21 print (binary_search(my_list, 3))
22 print (binary_search(my_list, -1))
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享