二分查找速度比线性查找速度快
就是先从一半处开始查找,但是缺点就是,数据必须是按大小排列的
def binary_search(find_value, args):
# 记录列表查找的范围
begin = 0
end = len(args) - 1
# 比较是否是要查找的数据
while begin <= end:
# 计算中间的索引号
mid = (begin + end)//2 # 对二取整
if args[mid] == find_value:
return mid
elif args[mid] > find_value:
end = mid-1
else:
begin = m
return -1
if __name__ == "__main__":
nums = [1,2,3,4,5,6,7,8,9]
print(binary_search(5, nums)

京公网安备 11010502036488号