免費開始練習
普考申論題 112年 [資訊處理] 程式設計概要

第 一 題

📖 題組:
三、關於搜尋法程式: (一)說明循序(Sequential)搜尋法,以及二元(Binary)搜尋法的優缺點。(8分) (二)以下二元搜尋程式碼有部分錯誤,若要修正為正確程式,請說明「最少」需修改程式碼行數、原因與修改方法。(17分) 01 public class BinarySearch{ 02 public int faultyBinarySearch(int[] arr, int x){ 03 int l=0, r=arr.length-1; 04 int m=(l+r)/2; 05 while(l<=r){ 06 m=(l+r)/2; 07 if(arr[m]==x) return m; 08 if(arr[m]>x) l=m+1; 09 if(arr[m]
📝 此題為申論題,共 2 小題

小題 (一)

說明循序(Sequential)搜尋法,以及二元(Binary)搜尋法的優缺點。(8分)

思路引導 VIP

這是一道標準的資料結構比較題。從「前置條件(是否需要排序)」、「時間複雜度(O(N) vs O(log N))」、「適用的資料結構(Array vs Linked List)」三個維度來分別論述這兩種搜尋法的優缺點,條理會最清晰。

🤖
AI 詳解
AI 專屬家教

【考點分析】 本題考查基礎搜尋演算法的特性,評量考生對於循序搜尋與二元搜尋在效能、適用情境與限制上的理解。 【理論/法規依據】

小題 (二)

以下二元搜尋程式碼有部分錯誤,若要修正為正確程式,請說明「最少」需修改程式碼行數、原因與修改方法。(17分)
(程式碼請參考大題題幹)

思路引導 VIP

這是一題除錯(Debugging)題。檢視二元搜尋的核心迴圈中,當我們判斷中間值 arr[m] 與目標值 x 的大小關係時,邊界指標 l (left) 與 r (right) 該如何移動。 題目程式碼:

🤖
AI 詳解
AI 專屬家教

【考點分析】 本題考查考生對二元搜尋演算法(Binary Search)內部邏輯邊界更新機制的理解與程式除錯能力。 【理論/法規依據】

🏷️ 相關主題

程式語言與程式設計基礎
查看更多「[資訊處理] 程式設計概要」的主題分類考古題