在已有的数据结构中查找数据是否存在。
1. 什么是查找
在已有的数据结构中,查找数据是否存在。
2. 分类
- 线性查找 遍历查找,按照索引一个一个的找下去
- 二分查找 将排序后的数据按照中间值的大小分为两份,再比较要查找的值在哪一边,只需要在另外一边查找即可,同时重复此步骤直到找到值或者找不到值返回None结束。
3. 代码
3.1 线性查找
def line_search1(find_value, args):
for index, value in enumerate(args):
if find_value == value:
return index
return -1
3.2 二分查找
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 = mid + 1
return -1