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

算法-二分查找

作者: 不右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