欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

算法学习之:python 实现折半查找(binary search)

程序员文章站 2022-05-05 19:57:50
...

代码

  • 折半查找要求序列已经是有序的。
def binsearch(a,k):
    ## 对于已经排好序的序列
    alen = len(a)
    low = 0
    hi = alen - 1
    while low <= hi:
        mid = (low + hi) // 2
        if a[mid] == k:
            return mid
        elif a[mid] > k:
            hi = mid -1
        else:
            low = mid + 1
    return -1
if __name__ == '__main__':

    a = [1,2,3,4,5,6,7]
    print(binsearch(a,6))

算法学习之:python 实现折半查找(binary search)