二进制搜索详细信息

时间:2020-04-17 02:45:58

标签: python algorithm computer-science

我是python的新手,正在尝试学习一些算法技术。

有人可以帮助我了解我在这里做错了什么吗?

出现错误

IndexError:列表索引超出范围

这是我的代码

def binary_search(arr,item):
    #keeping track of elements in array
    low = 0
    high = len(arr)
    #mid section 
    while low <= high:
        mid = (low + high)
        guess = arr[mid]
        if guess == item:
            return mid
        if guess > item:
            high = mid - 1
        else:
            low = mid + 1
    return None

a = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]

print(binary_search(a, 3))

0 个答案:

没有答案