06-查找

在已有的数据结构中查找数据是否存在。

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

你可能感兴趣的:(06-查找)