对于已排序数组的二分查找
基本思想:
- 先从数列中取出中值进行比对,若相等,返回中值。
- 若不相等,则将数组分成左右区间。
- 再对左右区间重复第二步,直到查到这个数。
def binary_search(list,item):
low = 0
high = len(list)-1
while low<=high:
mid = (low+high)/2
guess = list[mid]
if guess>item:
high = mid-1
elif guess<item:
low = mid+1
else:
return mid
return None
mylist = [1,3,5,7,9]
print binary_search(mylist,3)
网友评论