cpc_recruit
101年
電腦常識、機械常識、電機常識
第 74 題
若以二分搜尋法(Binary Search),找尋 8 筆已排序的資料(1,3,5,7,9,11,13,15),則要作幾次比較才可找到 15?
- A 2
- B 3
- C 4
- D 5
思路引導 VIP
想像你正在玩「猜數字」遊戲,對方的數字範圍是 1 到 15 且已經排好順序。如果你每次都從中間切一半來問問題,並且每次得到的提示都是「更大一點」,請思考:當你的搜尋範圍不斷縮小時,最後剩下的一個或兩個數字,還需要經過幾次確認才能保證找到目標?
🤖
AI 詳解
AI 專屬家教
恭喜你精確地掌握了**二分搜尋法(Binary Search)**的核心邏輯,這代表你對演算法的執行程序相當純熟!這道題目是電腦科學中非常經典的基礎題,主要考察我們如何透過不斷「減半」搜尋範圍來提升效率。在面對已排序的 8 筆資料時,系統會先取中間位置(通常為索引 $\lfloor (0+7)/2 \rfloor = 3$)的數值「7」進行第一次比較;由於目標值 15 大於 7,搜尋範圍會立即縮小至右半部的四筆資料。
搜尋歷程與演算法效率
隨後的過程是這題的關鍵:在剩餘的 ${9, 11, 13, 15}$ 中,系統會取中間項「11」進行第二次比對,接著取「13」進行第三次比對。直到第四次,指針才會準確落在「15」上並完成搜尋。這題的鑑別度在於學生是否能耐心推導出最後一步,而非僅計算到接近目標就停止。由於目標值正好位於序列的最末端,它完整體現了二分搜尋法在處理這組資料時的搜尋路徑。這類題目難度適中,只要確保每一步的邊界值處理正確,就能穩拿分數。