民國112年 地方四等 電子工程 計算機概要
第22題
若要從一個已經排序好的數列中,進行二元搜尋(Binary search),目的是從中尋找425 這個數字。下列何者不是搜尋過程,可能檢驗的數字序列?
題目
若要從一個已經排序好的數列中,進行二元搜尋(Binary search),目的是從中尋找425 這個數字。下列何者不是搜尋過程,可能檢驗的數字序列? A. 200, 300, 425 B. 400, 951, 810, 600, 395, 425 C. 425 D. 200, 800, 500, 425
官方答案
- 答案:B. 400, 951, 810, 600, 395, 425
解析
二元搜尋每次以中間元素與目標比較,若中間值小於目標,之後就只會在大於該中間值的右半部尋找,後續檢驗值必須愈來愈靠近目標。序列 B 先檢驗 400,因 400 小於 425 而往右半部搜尋,此後所有檢驗值都應大於 400,但後續出現 395,小於 400,已落在被排除的左半部,因此不可能出現。A 依 200、300、425 逐步往右縮小;C 第一次即命中中間值;D 中 200 小於 425 往右,800 與 500 均大於 425 往左,最後命中 425,範圍皆合理。
AI 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。
官方資料
答案以考選部公告之測驗式試題標準答案 PDF 為準。