LeetCode

二分查找

2018-04-28  本文已影响0人  无敌的肉包

对于已排序数组的二分查找

基本思想:

  1. 先从数列中取出中值进行比对,若相等,返回中值。
  2. 若不相等,则将数组分成左右区间。
  3. 再对左右区间重复第二步,直到查到这个数。
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)
上一篇下一篇

猜你喜欢

热点阅读