def binary_search(search_list, item):
low = 0
high = len(search_list) - 1
while low <= high:
mid = int((low + high) / 2)
guess = search_list[mid]
if guess == item:
return mid
if guess > item:
high = mid - 1
else:
low = mid + 1
return None
my_list = [1, 3, 5, 7, 9]
print(binary_search(my_list, 3))
print(binary_search(my_list, 7))
print(binary_search(my_list, 0))
二分法查找
原创
©著作权归作者所有:来自51CTO博客作者TBHacker的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:php 获取host地址
下一篇:python 支持中文
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
折半查找法/二分法
在有序(设为升序)表中,取中间元素作为比
二分法 折半查找 数据 键盘输入 数组 -
202,查找-二分法查找
二分法查找适用于大的数据,但前提条件是数据必须是有序的,他的原理是先和中间的比较,如果等于就直接返回,如果小
二分法 数据 数组 二分法查找 while循环 -
查找算法--二分法
则确定新的查找区间。 如果array[mid]>key,则由表的
时间复杂度 二分查找 数据