普考-資訊處理計算機概要107 年第 40 題單選題
有一已排序數列,使用二元搜尋法最壞的時間複雜度為何?
AO(1)
BO(n)
CO(logn)正確答案
DO(nlogn)
C正確答案
二元搜尋法利用已排序的特性,每次比對後將搜尋範圍縮減一半,最壞情況下需進行 log₂n 次比對,故時間複雜度為 O(log n)。
為什麼答案是 C
二元搜尋法每次將資料量除以 2,最壞情況下(找不到目標或目標在最後一次分割才出現)分割到剩 1 個元素,需 log₂n 次,即 O(log n)。
考點:最佳情況考點:循序搜尋考點:二元搜尋最壞情況考點:排序演算法