python-算法-二分查找法

二分查找也被称为折半查找,是在一个有序数组中查找特定元素位置的查找算法。二分查找要求查找序列采用顺序存储,且按关键字有序排列。
据 Sedgewick 所说,二分查找最先出现在上个世纪50年代,但是直到60年代中期才出现了第一个正确的实现。在2006年,Java 库中关于二分查找的程序仍然因 Bug 的出现不得不被修复。实现一个完美的二分查找是有一定的难度的,要充分考虑到它的退出条件和中间点的计算

def search(data,item):
    left,right=0,len(data)-1
    while left<=right:
        middle=(left+right)//2
        if item data[middle]:
            left=middle+1
        else:
            return middle
    return -1

data为列表,item为要查找的元素

你可能感兴趣的:(python-算法-二分查找法)