在Python中的bitonic列表中查找max的递归二进制搜索

时间:2017-12-20 19:47:37

标签: python recursion binary

初学者,我希望有人可以帮助我。我在Python中编写了一个代码,通过使用递归调用的二进制搜索从bitonic列表中查找最大值。问题是,我得到一个最大递归深度错误,我只是想不通,为什么。

基本上我通过删除低于我的中间值的元素来减少列表的长度。所以,任何人都有一个想法,这里有什么问题?提前谢谢!

def max_bitonic(a):
    if len(a) == 1:
        return a[0]
    else:
        mid = a[len(a) // 2]
        if mid >= a[((len(a)//2)-1)]:
            del a[0 : ((len(a)//2)-1)]
            max_bitonic(a)
        else:
            del a[(len(a)//2)]
            max_bitonic(a)

0 个答案:

没有答案