算法之二分法找法

''' 这是一个二分查找的算法'''

ls1 = [85, 97, 102, 208, 209, 260, 497, 769, 791, 975]


def binary_select(alist, v):

    n = len(alist)
    start = 0
    end = n - 1

    while start <= end:

        mid = (start + end) // 2

        if alist[mid] == v:
            return True
        elif alist[mid] > v:
            end = mid - 1

        else:
            start = mid + 1

    return False


print(binary_select(ls1, 1111))

print(binary_select(ls1, 791))

猜你喜欢

转载自www.cnblogs.com/python99/p/12367416.html