的索引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