免費開始練習
調查局三等申論題 107年 [電子科學組] 計算機概論

第 一 題

📖 題組:
下圖是二元搜尋法(binary search)的一個示意圖。此例乃在一已排序的陣列 A[0:11]中,找尋一個值為 Target=22 的元素的位置。一開始先令 first←0,last←11。
題組圖片
📝 此題為申論題,共 5 小題

小題 (一)

此例第一回合 mid 設定值為 5,請問求出 5 這個位置的公式為何(請列出用 first 及 last 來計算的公式)?(5 分)

思路引導 VIP

本題考查二元搜尋法(Binary Search)的核心操作。考生需回憶二元搜尋如何計算中間索引值,寫出包含 firstlast 的取整數公式,並代入題目給定的數值進行驗證推導,即可輕鬆拿分。

🤖
AI 詳解
AI 專屬家教

【解題關鍵】利用上下界索引相加除以二並向下取整(無條件捨去),求得中間位置。 【解答】 計算公式:

小題 (二)

此例剛好用了三個回合就找到了 Target=22,其位置在 A[6]。請列出其他也剛好會用了三個回合就找到了的所有 Target 值。(5 分)

思路引導 VIP

本題測驗二元搜尋法的實際運作過程。解題關鍵是畫出二元搜尋的『決策樹』,依序推導出第一回合(根節點)、第二回合(第二層)、第三回合(第三層)所探訪的陣列索引值(利用公式 mid = ⌊(first + last) / 2⌋),並從陣列中映射出對應的元素數值。

🤖
AI 詳解
AI 專屬家教

【解題思路】利用二元搜尋法的決策樹概念,模擬每一回合求取中間索引值 mid = ⌊(first + last) / 2⌋ 的過程,找出位於搜尋樹「第三層」的所有節點對應數值。 【詳解】 已知:

小題 (三)

請列出剛好會用了兩個回合就找到了的所有 Target 值。(5 分)

思路引導 VIP

本題測驗二元搜尋法的尋找過程與邊界計算。看到題目需立即聯想二元搜尋法的『中位數索引公式:mid = ⌊(first + last) / 2⌋』。要求「剛好兩個回合」找到,代表目標值位於決策樹的第二層節點,只要分別推算出第一回合比對失敗後,向左分支與向右分支搜尋時所產生的第二回合 mid 索引對應值即可。

🤖
AI 詳解
AI 專屬家教

【解題思路】利用二元搜尋法之中間索引公式 mid = ⌊(first + last) / 2⌋,推導出第一回合與第二回合檢查的位置,進而找出對應的陣列元素。 【詳解】 已知:初始陣列範圍 first = 0last = 11

小題 (四)

請問此二元搜尋法一個回合一個回合執行下去,碰到什麼條件才結束?(5 分)

思路引導 VIP

本題測驗二元搜尋法(Binary Search)的演算法終止條件。作答時需全面考量,不僅要指出『找到目標值』的成功條件(結合圖例),還必須寫出『搜尋範圍交叉(first > last)』的失敗條件,以展現對演算法完整邏輯的掌握。

🤖
AI 詳解
AI 專屬家教

【破題】二元搜尋法(Binary Search)在反覆縮小搜尋區間的過程中,碰到以下「兩種條件之一」即會結束執行: 【解析】 一、條件一:搜尋成功(找到目標值)

小題 (五)

此例如果陣列 A[0:11] 中 12 個元素每個元素被尋找的機率都一樣,請問每個元素平均會用了幾個回合就找到了?(5 分)

思路引導 VIP

看到計算二元搜尋的「平均搜尋次數」,應直覺聯想到將搜尋過程轉化為「二元決策樹(Binary Decision Tree)」。計算出樹的每一層有多少個節點(即搜尋所需回合數),將所有節點的搜尋次數加總後,除以總元素個數,即可得出平均值。

🤖
AI 詳解
AI 專屬家教

【解題思路】利用二元決策樹(Binary Decision Tree)的層級特性,計算出尋找各個元素所需的總回合數,再除以總元素個數以求得平均搜尋回合數。 【詳解】 已知:陣列大小 n = 12,且每個元素被尋找的機率均等。

升級 VIP 解鎖