Python实现二分查找
关键词:算法 查找 基础 复杂度 二分 python 实现
**条件:**带查找的数据需有序
算法复杂度: O(log2(n))
代码:
def binary_search(list, item):
low = 0
high = len(list) - 1
while low <= high
mid = (low+high)/2
guess = list[mid]
if guess == item
return mid
if guess > item
high = mid - 1
else:
low = mid + 1
return None
运行:
my_list = [1, 3, 5, 7, 9]
print binary_search(my_list, 3)
print binary_search(my_list, -1)