的索引I必须返回一个数组的目标元素的索引。二进制搜索返回目标
目前,当我搜索是在中点的元素,它返回正确的指标,但对于任何其他元素不为我工作。
我想我犯了一个错误,当我打翻在阵列
aList = [1,3,5,6,8,9,10,12,34,56,78,456]
def recursiveBinarySearch(aList, target):
#aList = sorted(aList)
if len(aList) == 0:
return False
else:
midpoint = len(aList) // 2
if aList[midpoint] == target:
return aList.index(target)
else:
if target < aList[midpoint]:
return recursiveBinarySearch(aList[:midpoint],target)
else:
return recursiveBinarySearch(aList[midpoint+1:],target)
print(recursiveBinarySearch(aList,9))
是有可能,当我找到的元素数组是唯一的那个元素,由于二进制搜索分裂成两半数组的本质是什么? – bighead