勵志

勵志人生知識庫

折半查找算法

折半查找算法,也稱為二分查找(Binary Search),是一種在有序數組中查找特定元素的搜尋算法。其基本思想是:

定義搜尋區間:設定數組的左右邊界,初始時,low為0,high為數組長度減1。

計算中間元素:計算中間元素的下標mid,即mid = (low + high) / 2。

比較中間元素與目標值:

如果中間元素等於目標值,則返回找到的位置。

如果中間元素大於目標值,則更新右邊界為mid-1,繼續在左半部分查找。

如果中間元素小於目標值,則更新左邊界為mid+1,繼續在右半部分查找。

重複步驟:重複以上步驟,直到找到目標值或者左邊界大於右邊界,此時表示查找失敗。

折半查找的時間複雜度為O(log n),比順序查找的時間複雜度O(n)要更快,因此是一種非常高效的查找算法。但是,折半查找要求線性表必須採用順序存儲結構,且表中元素按關鍵字有序排列。