折半查找法,也稱為二分查找法或對數搜尋,是一種在有序數組中查找特定元素的搜尋算法。該算法的工作原理如下:
開始時,計算數組中間元素的位置。
將待查找的鍵值與中間元素進行比較。
如果兩者相等,則查找成功。
如果待查找的鍵值小於中間元素,則在數組的左半部分繼續查找。
如果待查找的鍵值大於中間元素,則在數組的右半部分繼續查找。
每次查找後,都會將搜尋範圍減半,直到找到目標元素或搜尋範圍為空。
折半查找法的優點是它的時間複雜度為O(log n),這意味著查找速度非常快,尤其當數據量很大時。然而,它要求被查找的列表必須是有序的,且這種列表在現實套用中可能不經常變動,但查找操作卻非常頻繁。