二分搜索法最壞時間復雜度

二分搜尋法(Binary Search)是一種在有序數組中查找特定元素的算法。它的基本思路是:通過不斷將數組分成兩半,並檢查中間元素,來縮小搜尋範圍直到找到目標元素或確定目標元素不在數組中。

二分搜尋法在最壞情況下的時間復雜度是 O(log n),其中 n 是數組的大小。這是因為每次比較後,搜尋範圍都會減少一半,所以需要的比較次數最多為 log2n。例如,如果數組有 100 個元素,那麼在最壞情況下,二分搜尋法需要比較的次數是 log2100 ≈ 6.64,即大約需要比較 7 次。

需要注意的是,二分搜尋法要求數組是有序的,並且只能應用於線性結構,如數組或鏈表。如果數組不是有序的,二分搜尋法將不再有效,此時需要使用其他搜尋算法,如線性搜尋(Linear Search),其時間復雜度為 O(n),其中 n 是數組的大小。