免費開始練習
高考申論題 110年 [資訊處理] 資料結構

第 一 題

📖 題組:
假設收銀機內銅板的集合 S={$50, $20, $20, $15, $10, $2, $1, $1, $1},而預計找錢給顧客的金額 W=$75。(一)請設計一個 Greedy(貪婪)的演算法,來解決找錢給顧客的問題,使得找給顧客金額 W 所使用的銅板數量最少,並依此 Greedy 的演算法列出找給顧客金額 W=$75 的過程。(15 分)(二)此 Greedy 演算法適合使用何種資料結構來完成。(5 分)(三)此 Greedy 演算法的解法是否能保證為最佳解?請舉例說明。(5 分)
📝 此題為申論題,共 3 小題

小題 (一)

請設計一個 Greedy(貪婪)的演算法,來解決找錢給顧客的問題,使得找給顧客金額 W 所使用的銅板數量最少,並依此 Greedy 的演算法列出找給顧客金額 W=\$75 的過程。(15 分)

思路引導 VIP

  1. 演算法設計:貪婪演算法在找零問題中的核心策略是「每次都選擇當前剩餘找零金額下,面額最大且不超過該剩餘金額的硬幣」。2. 步驟拆解:列出目前剩餘金額 -> 掃描可用硬幣 -> 選擇最大硬幣 -> 更新剩餘金額。3. 注意:本題給出的銅板集合 $S$ 是有限的(不是無限量供應),所以選走一個要扣除一個。
🤖
AI 詳解
AI 專屬家教

【考點分析】 貪婪演算法(Greedy Algorithm)在找零問題(Change-making problem)中的應用。 【理論/法規依據】

小題 (二)

此 Greedy 演算法適合使用何種資料結構來完成。(5 分)

思路引導 VIP

思考貪婪演算法的核心操作:每次都要取「最大值」。什麼資料結構能高效地提供最大值?1. 排序後的陣列(Sorted Array):取第一個元素。2. 最大堆積(Max-Heap):根節點即為最大值,取出後調整時間複雜度為 $O(\log n)$。

🤖
AI 詳解
AI 專屬家教

【考點分析】 適合頻繁取最大值的資料結構分析。 【理論/法規依據】

小題 (三)

此 Greedy 演算法的解法是否能保證為最佳解?請舉例說明。(5 分)

思路引導 VIP

這是貪婪演算法的經典反例考題。貪婪法在「貨幣系統為規整面額(如 1, 5, 10, 50)」時有效,但在任意面額下通常只能得到可行解而非最佳解。找一個反例即可:目標金額小於貪婪選取的總和,而存在另一組更少數量的組合。

🤖
AI 詳解
AI 專屬家教

【考點分析】 貪婪演算法的局限性與全域最佳解(Global Optimum)保證。 【理論/法規依據】

📝 同份考卷的其他題目

查看 110年[資訊處理] 資料結構 全題

升級 VIP 解鎖