python二分查找

Posted 月半王令

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python二分查找相关的知识,希望对你有一定的参考价值。

#每次排除一半的数据,效率高;局限性:必须是有序序列

 

应用:

lst = [11,22,33,44,55,66,77,88,99,123,234,345,456,567,678,789,1111]

def binary_search(left, right, n):

    middle = (left + right)//2

    if left > right:

        return -1

    if n > lst[middle]:

        left = middle + 1

    elif n < lst[middle]:

        right = middle - 1

    else:

        return middle

    return binary_search(left, right, n)

print(binary_search(0, len(lst)-1, 65) )

以上是关于python二分查找的主要内容,如果未能解决你的问题,请参考以下文章

Python数据结构与算法(19)---二分查找

Python数据结构与算法(19)---二分查找

Python数据结构与算法(19)---二分查找

Python数据结构与算法(19)---二分查找

二分查找算法(Python)

二分查找算法(Python)