1.查詢問題分析
假設你要在字典中查詢一個單詞,而該字典包含24000個單詞,你認為每種查詢最多需要多少步? 如果要查詢的單詞位於字典末尾,使用簡單查詢將需要24000步。使用二分查詢時,每次排除一半單詞,直到最後只剩下一個單詞。
2.Python實現二分查詢
def binary_search(list, item):
low = 0
height = len(list)-1
while low <= height:
mid = (low+height) / 2
temp = list[mid]
if temp == item:
return mid
if temp > item:
height = mid-1
else:
low = mid+1
return None
mdata = [1, 4, 7, 9, 14, 16]
index = binary_search(mdata, 14)
print("index=", index)
複製程式碼