python实现二分查找算法

    二分算法采用分而治之的思想,算法思路比较简单,便直接附上一端代码

def binarysearch(ll,x):
    length = len(ll)
    height = length-1
    ini = 0
    
    while ini <= height:
        mid = (ini + height) // 2
        findx = ll[mid]
        
        if findx == x:
            return mid
        if findx < x:
            # 中间数比待找值小
            ini = mid + 1
        if findx > x:
            height = mid - 1
    
    return None

al = [1,2,3,4,5,6,7]
print("is 3 : " + str(binarysearch(al,3)))
print("is 9 : " + str(binarysearch(al,9)))

    上述代码便是一个数组二分查找算法的具实现。

posted @ 2018-10-10 19:08  醉曦  阅读(2114)  评论(0编辑  收藏  举报