二分查找算法
必须处理有序列表。
例如查找下面列表的中23的索引。
[1,2,3,4,5,6,7,8,9,23,34,45,56,87,94]
代码实现:
l = [1,2,3,4,5,6,7,8,9,23,34,45,56,87,94] def find(l,aim,start= 0,end = len(l)): mid_index = (end - start) // 2 +start if l[mid_index] < aim: find(l, aim, start=mid_index + 1, end=end) elif l[mid_index] > aim: find(l, aim, start=0, end=mid_index - 1) else: print(mid_index,aim) find(l,23)