二分查找算法python实现

杀马特。学长 韩版系。学妹 提交于 2020-02-02 06:58:48

二分查找算法:

用于在有序数组中快速查找所需要的值,前提是数组已经排序
python代码实现:

def binary_search(thelist, item):
low = 0
high = len(thelist) - 1
while low <= high:
    mid = int((low + high) / 2)
    if thelist[mid] == item:
        return mid
    elif thelist[mid] < item:
        low = mid + 1
    else:
        high = mid -1
return None

验证算法:

l = [1, 2, 4, 8, 9, 10]
print("the index of result: " + str(binary_search(l, 8)))
l = [1, 2, 4, 8, 9, 10]
print("the index of result: " + str(binary_search(l, 12)))
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!