免費開始練習
地特三等申論題 109年 [資訊處理] 程式設計

第 二 題

請使用 Java、C、C++、C#或Python,分別使用 iterative 跟 recursive 方法,撰寫二元搜尋法,搜尋已排序的整數值數列。(20分) 註:假設數列資料是以具有 array性質的list 來存放 *模組程式應能接受欲搜尋的資料及已排序數列的相關資料 *模組程式應回傳所欲搜尋的資料是否在數列資料中
📝 此題為申論題

思路引導 VIP

看到「二元搜尋法」,首要確認資料已排序,核心邏輯是透過左右指標將搜尋區間減半(時間複雜度 O(log n))。實作迭代法須利用 while 迴圈動態調整指標;遞迴法則須將指標作為參數傳入並設定終止條件。兩者皆須特別注意防範陣列空值檢查,以及計算中間索引時的整數溢位問題。

🤖
AI 詳解 AI 專屬家教

【破題】 本題考查二元搜尋法(Binary Search)的實作,分為迭代(Iterative)與遞迴(Recursive)兩種方式。二元搜尋法的核心在於每次比對中間值,將搜尋區間減半,時間複雜度為 O(log n)。以下選用 Java 語言進行具備高度可讀性與模組化之實作。 【論述】

▼ 還有更多解析內容

📝 同份考卷的其他題目

查看 109年[資訊處理] 程式設計 全題

升級 VIP 解鎖