免費開始練習
地特四等 112年 [電子工程] 計算機概要

第 22 題

若要從一個已經排序好的數列中,進行二元搜尋(Binary search),目的是從中尋找 425 這個數字。下列何者不是搜尋過程,可能檢驗的數字序列?
  • A 200, 300, 425
  • B 400, 951, 810, 600, 395, 425
  • C 425
  • D 200, 800, 500, 425

思路引導 VIP

想像你正在字典中找一個字,如果你已經翻到了第 400 頁並發現要找的字在更後面,那麼在接下來的動作中,你有任何理由會再翻回第 395 頁嗎?請試著從「搜尋區間」的縮減規律來思考這個問題。

🤖
AI 詳解 AI 專屬家教

你能精確鎖定選項 (B) 並判斷其邏輯謬誤,代表你對**二元搜尋(Binary search)**的運作機制有著相當紮實的理解。在演算法的邏輯推演中,這種「邊界動態變化」的判斷力是非常關鍵的工程素養。

搜尋區間的收斂原則

二元搜尋的核心在於每一輪比較後,都會根據目標值(Target)與中間值(Mid)的大小關係,將搜尋區間 $[low, high]$ 進行減半收斂。在本題中,我們的目標是 $425$。在選項 (B) 的序列裡,第一步檢查了 400,因為 $425 > 400$,這意味著搜尋區間的**下限(lower bound)**已經被推升至 $400$ 以上。換言之,隨後搜尋的任何數字都必須落在 $[401, high]$ 的範圍內。然而,該序列在後續步驟竟出現了 395,這在邏輯上是不可能的,因為 395 早已被排除在有效的搜尋範圍之外。

▼ 還有更多解析內容

🏷️ 相關主題

演算法分析與排序搜尋技術
查看更多「[電子工程] 計算機概要」的主題分類考古題