民國114年 普通考試 電子工程 計算機概要

第11題

若有一個遞增排序(由小到大)的整數陣列A,並欲尋找值為X 的元素,若想降低平均搜尋時間,可使用下列何種搜尋演算法?

題目

若有一個遞增排序(由小到大)的整數陣列A,並欲尋找值為X 的元素,若想降低平均搜尋時間,可使用下列何種搜尋演算法? A. 線性搜尋(Linear Search) B. 二元搜尋(Binary Search) C. 插值搜尋(Interpolation Search) D. 鄰近搜尋(Adjacent Search)

官方答案

  • 答案:B. 二元搜尋(Binary Search)

解析

陣列已由小到大排序,二元搜尋(Binary Search)每次取中間元素與 X 比較,據以捨棄一半的搜尋範圍,時間複雜度為 O(log n),平均搜尋時間明顯優於線性搜尋的 O(n)。線性搜尋需逐筆比對,未利用排序特性;插值搜尋雖可用於有序且分布均勻的資料,但最差情況可退化為 O(n),並非一般首選;鄰近搜尋並非標準演算法。故選 B。

AI 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。

官方資料

答案以考選部公告之測驗式試題標準答案 PDF 為準。