时间复杂度O(n)
# 顺序查找 # 返回值为列表索引 def liner_search(li, val): for index, v in enumerate(li): if v == val: return index else: return None时间复杂度O(logn)
# 二分查找 # lis位从小到大的有序列表 # 返回值为列表索引 def binary_search(lis, val): left = 0 right = len(lis)-1 while left <= right: # 候选区有值 mid = (left + right) // 2 if val == lis[mid]: return mid elif val < lis[mid]: # 值在左侧候选区 right = mid-1 else: left = mid + 1 else: return None