编程随想
Python实现二分查找 O(logN)
def binary_search(list,item):
low = 0 //最小索引
high = len(list) - 1 //最大索引
while low <= high: //最小索不可能超过最大索引
mid = int((low+high)/2) //取中间索引
guess = list[mid] //设置当前索引值
if guess == item: //当前值等于目标值
return mid //返回当前索引
if guess > item: //当前值大于目标值
high = mid - 1 //降低最大索引
if guess < item: //当前值小于目标值
low = mid +1 //增大最小索引
return None //找不到返回空
list = [1,2,3,4,5,6]
print(binary_search(list,3)) //2