Python_算法学习
二分查找
输入一个有序的元素列表。如果要查找的元素包含在列表中,二分查找返回其位置;否则返回NULL。
示例代码
def binary_search(list, item) : //函数接受一个有序数组list和一个元素item
//数组的起始位置low与结束位置high
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) => 1
本作品采用《CC 协议》,转载必须注明作者和本文链接