美文网首页
算法-二分查找

算法-二分查找

作者: 不右21 | 来源:发表于2018-03-07 10:17 被阅读0次

二分查找基于索引,所以必须是有序的

def binary_search(list, item):
    high = len(list) - 1
    low = 0

    # 如果不加=号,无法计算两端的数字(1,7)
    while low <= high:
        mid = (high + low) // 2
        guess = list[mid]
        if guess == item:
            return mid
        elif guess < item:
            low = mid + 1
        else:
            high = mid - 1
    return None


ret = binary_search([1, 3, 5, 7], 5)
print(ret)  # 1

相关文章

网友评论

      本文标题:算法-二分查找

      本文链接:https://www.haomeiwen.com/subject/qgerfftx.html