线性查找&二分查找
'''线性查找: 从头至尾依次匹配。时间复杂度为O(n)'''def linear_search(li, val): for index in range(len(li)): if val == li[index]: return index return None列表的index()方法使用的线性查找,因为列表是无序的'''二分查找:在排序的列表中查找某元素。时间复杂度为O(log2n)'''def binary_search(orderd_list, val): left = 0 right = len(orderd_list) - 1 while left <= right: mid = (left + right) // 2 if val == orderd_list[mid]: return mid elif val > orderd_list[mid]: # 要查找的值在mid右侧 left = mid + 1 else: # 要查找的值在mid左侧 right = mid - 1 return None 来源: https://www.cnblogs.com/staff/p/11406743.html