110 關務特考三等 資訊處理 資料結構 考古題詳解

110 年・關務特考・三等・資訊處理
試題代碼 資料結構

第 一 題20 分

大學生只剩 5 天準備 4 科 X1、X2、X3、X4X_1、X_2、X_3、X_4,估計的成績點數如下表所示。每 1 科準備至少 1 天,使用窮舉法(exhaustive search)有幾種可能?如何最適化?最適成績 s=s=?

天數科目 X1X_1科目 X2X_2科目 X3X_3科目 X4X_4
1 天3524
2 天5644
3 天6875

(20 分)

登入後即可作答並保存紀錄。

這一題的完整詳解

核心觀念

這題考的是窮舉法(exhaustive search):列出所有符合限制的配置,計算各配置的總成績,再選出總成績最高者。

令 did_i 表示分配給科目 XiX_i 的準備天數。每科至少準備 1 天,總共只有 5 天,因此:

d1+d2+d3+d4=5,di≥1d_1+d_2+d_3+d_4=5,\qquad d_i\geq 1

各科分數依準備天數查表,目標是最大化四科成績總和 ss。

解題方法

先為四科各分配 1 天,共用掉 4 天;剩下 1 天可加給任一科。因此所有合法分配恰有以下 4 種:

(d1,d2,d3,d4)(d_1,d_2,d_3,d_4)成績計算總成績 ss
(2,1,1,1)(2,1,1,1)5+5+2+45+5+2+416
(1,2,1,1)(1,2,1,1)3+6+2+43+6+2+415
🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 二 題20 分

(一) 求下列遞迴函數值 f(3)=f(3)=?

int f(int n) {
    if (n == 0)
        return 0;
    else
        return f(n - 1) + n * n;
}

(10 分)

(二) 求遞迴函數 f(n)=f(n)=? , ∀n∈N\ ,\ \forall n\in\mathbb{N}。

(10 分)

登入後即可作答並保存紀錄。

這一題的完整詳解

核心觀念

本題考遞迴函數的基礎情況與遞迴關係式。程式中,當 n=0n=0 時回傳 00;當 n>0n>0 時,函數值由前一項 f(n−1)f(n-1) 加上 n2n^2 得到:

f(0)=0,f(n)=f(n−1)+n2(n>0)f(0)=0,\qquad f(n)=f(n-1)+n^2\quad(n>0)

因此,計算 f(n)f(n) 等同於把 121^2 到 n2n^2 逐項累加。

解題方法

(一)求 f(3)f(3)

依照遞迴式逐層代入,直到遇到基礎情況:

f(3)=f(2)+32=f(1)+22+32=f(0)+12+22+32=0+1+4+9=14\begin{aligned} f(3)&=f(2)+3^2\\ &=f(1)+2^2+3^2\\ &=f(0)+1^2+2^2+3^2\\ &=0+1+4+9\\ &=14 \end{aligned}

(二)求 f(n)f(n),∀n∈N\forall n\in\mathbb{N}

由遞迴式反覆展開:

🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 三 題15 分

∀k∈N−{1}\forall k\in\mathbb{N}-\{1\},若有一棵 kk 元樹(kk-ary tree),其中分支度(degree)為 ii 的節點數為 ii 個,i=1,2,…,ki=1,2,\ldots,k,請問該 kk 元樹的葉節點數 L(k)L(k) 為何?

(15 分)

登入後即可作答並保存紀錄。

這一題的完整詳解

核心觀念

樹中每個節點的分支度,是該節點所擁有的子節點數。若分支度為 ii 的節點有 ii 個,則分支度為 ii 的節點共提供 i⋅i=i2i\cdot i=i^2 條由父節點連向子節點的邊。

對任何非空樹,若總節點數為 NN,則邊數為 N−1N-1。因此,所有節點的分支度總和必須等於 N−1N-1。

解題方法

令葉節點數為 L(k)L(k)。題目給定分支度為 ii 的節點有 ii 個,i=1,2,…,ki=1,2,\ldots,k,所以非葉節點數為

∑i=1ki=k(k+1)2.\sum_{i=1}^{k} i=\frac{k(k+1)}{2}.

加上葉節點後,總節點數為

N=k(k+1)2+L(k).N=\frac{k(k+1)}{2}+L(k).

另一方面,非葉節點所提供的邊數,也就是分支度總和,為

∑i=1ki⋅i=∑i=1ki2=k(k+1)(2k+1)6.\sum_{i=1}^{k} i\cdot i =\sum_{i=1}^{k} i^2 =\frac{k(k+1)(2k+1)}{6}.

由樹的邊數等於總節點數減一,可得

k(k+1)(2k+1)6=k(k+1)2+L(k)−1.\frac{k(k+1)(2k+1)}{6} = \frac{k(k+1)}{2}+L(k)-1.

移項整理:

🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 四 題15 分

密文(Cipher text or Cypher text):明請到家玩天你我來。

應用環狀串列(circular linked list),請問明文(Plain text or Clear text)為何?

(15 分)

登入後即可作答並保存紀錄。

這一題的完整詳解

核心觀念

本題考環狀串列的循環特性:節點依序相連,最後一個節點會再連回第一個節點。因此,若以串列表示密文並依指定步長循環移動,越過尾端時要從首端繼續計數。

解題方法

題目未說明環狀串列的起點、移動方向或步長;依密文與預期解碼方式,採用「每次向右移動一個字,從密文首字開始讀取」的設定。

將密文「明請到家玩天你我來」依序編號:

位置123456789
🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 五 題30 分

(一) 如下圖,設背包限重 100,有 A、B、C、D、EA、B、C、D、E 共五個不可分割物件,請問依貪婪策略(Greedy Algorithm),00-11 整數背包問題(knapsack problem)/貨物裝載問題(cargo loading problem)其最大利益為何?其對應的 00-11 整數規劃為何?

(原卷圖示未隨文字層擷取,請參考原卷。)

物件重量利益
AA1020
BB2030
CC3066
DD4040
EE5060

(20 分)

(二) 有 A、B、C、D、EA、B、C、D、E 共五個可分割物件,請問依貪婪策略,00-11 分數背包其最大利益為何?

(10 分)

🖼️ 本題原卷含圖表。基於試題來源之版權考量,本站不轉載原卷影像; 題目文字已完整轉錄,圖表請自行參閱考選部公告之試題原檔。

登入後即可作答並保存紀錄。

這一題的完整詳解

核心觀念

本題比較兩種背包問題:

  • 0-1 背包:物件不可分割,每件只能整件放入或不放入,以 xi∈{0,1}x_i\in\{0,1\} 表示。
  • 分數背包:物件可分割,可取其中一部分,以單位重量利益 pi/wip_i/w_i 由高至低取用。

依貪婪策略,先計算各物件的利益重量比 pi/wip_i/w_i,再由高至低選取。

解題方法與計算

各物件的利益重量比為:

物件重量 wiw_i利益 pip_ipi/wip_i/w_i
A10202
B20301.5
C30662.2
D40401
E50601.2

依利益重量比排序為 C、A、B、E、DC、A、B、E、D。

(一)不可分割的 0-1 背包

背包限重為 100100。依排序逐件檢查:

  1. 放入 C:重量 3030,利益 6666,剩餘容量 7070。
  2. 放入 A:重量 1010,利益 2020,剩餘容量 6060。
  3. 放入 B:重量 2020,利益 3030,剩餘容量 4040。
  4. E 重量為 5050,超過剩餘容量,略過。
  5. 放入 D:重量 4040,利益 4040,剛好用滿容量。

因此選取 A、B、C、DA、B、C、D,總重量為 100100,總利益為:

20+30+66+40=15620+30+66+40=156

對應的 0−10-1 整數規劃為:

🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

其他考古題