"""
定义一个数组780
从里面查89
"""
def dichotomy(list, item):
low = 0
high = len(list) - 1
while low <= high:
mid = (low + high) # 取中间值
guess = list[mid] # 中间值查找数据
if guess == item: # 刚好相等返回查找
return item
if guess >= item: # 如果查找的值大了那么,high等于中间值减一,这样下一个中间值就是小的部分了
high = mid - 1
else: # 否则查找的值小了,那么我们调节最小的值,把他变成中间值加上一个,这样下一个中间值就是大的部分
low = mid + 1
return None # 如果都没有查找到那么证明数值出现了错误
MyList = range(0, 780)
result = dichotomy(MyList, 781)
print(result)
数据结构之Python实现二分法查找dichotomy
最新推荐文章于 2023-04-16 22:23:39 发布