折半查找法:
在有序表中,把待查找資料值與查找範圍的中間元素值比較,會有三種情況出現:
1) 要找出資料值與中間元素值剛好相等,則放回中間元素值的索引。
2) 待查找資料值比中間元素值小,則以整個查找範圍的前半部作為新的查找範圍,執行1),直到找到相等的值。
3) 待查找資料值比中間元素值大,則以整個查找範圍的後半部作為新的查找範圍,執行1),直到找到相等的值
4) 如果最後找不到相等的值,則傳回錯誤提示訊息。
依照二元樹來理解:中間值二元樹的根,前半部為左子樹,後半部為右子樹。折半查找法的查找次數剛好為該值所在的層數。等機率情況下,約為
log2(n 1)-1