參考答案 / 中央 / 113 年 資料結構

國立中央大學資訊管理學系

中央 113 年資管所 資料結構 參考答案

共 10 題

參考答案 PDF各校參考答案的 PDF,訂閱考試資源分享信後會寄到您的信箱。訂閱領取 PDF

參考答案由作者與 AI 討論後逐題確認,不是各校公布的標準答案;若與各校公布不同,以各校為準。
最後更新:2026 年 11 月 3 日。發現錯誤歡迎來信。

這份考卷每一題的解析與手寫題的答題範例,收在《資管所考古題 111-115 計概資結全解》,可以免費試閱。

1Linked List 與 Array 優缺點比較

考點:Singly/Doubly Linked List:基本操作與優缺點比較

優點:大小可動態成長、不需連續記憶體、已知位置時插入刪除 O(1)。

缺點:不支援隨機存取(O(n))、每節點多一份指標、cache 局部性差。

2多元多次多項式一般化串列表示法

考點:多元多次多項式的一般化串列表示法(Triple Node)

(a) 依 z→y→x 分層:

  • z1:y2 下 x5(係數 5);y3 下 x2(係數 1)
  • z2:y1 下 x3(係數 2)
  • z6:y4 下 x3(係數 7)

(b) 額外的 tag 與指標欄位佔用記憶體;不支援隨機存取,須逐層走訪;相加、相乘等運算須逐層比對次方,實作複雜。

3Max-Heap 建堆(4,12,1,24,6,18,21,9,5)

考點:Heap 的建立與 heapify-up/heapify-down

最終陣列:[24, 12, 21, 9, 6, 18, 1, 4, 5](bottom-up 建堆)。

42-3-4 Tree Insert(29)

考點:B-tree/2-3 Tree/B+tree 節點度數與高度性質整理

(如簡答圖)

4 參考答案圖

5MST 構造與 Kruskal's/Prim's 步驟

考點:Minimum Spanning Tree(MST)與求解演算法(Kruskal's、Prim's)

(a) MST 邊集合 ={a-f(3), b-h(5), b-c(7), h-d(9), f-e(11), b-g(16), a-b(20)},總權重 71。

(b) Kruskal's:依權重遞增加入 a-f, b-h, b-c, h-d, f-e, b-g, a-b(d-c、g-d 形成 cycle,跳過)。

(c) Prim's:依序加入 a-f, f-e, a-b, b-h, b-c, h-d, b-g。

6Postfix/Prefix 直接互轉

考點:Stack 應用技巧:Infix/Postfix/Prefix 轉換與 Palindrome 檢查

(a) -+*/+abcde5

(b) abc/-xy/z-*

7遞迴函式定義與優缺點

考點:遞迴(Recursion)基本概念:分而治之與 Base Case

(a) 函式在定義中呼叫自己,把問題拆成較小的同構子問題,並以 base case 終止。

(b) 程式簡潔易讀,適合分治類問題,貼近問題的數學定義。

(c) 每層呼叫佔用 stack frame,過深會 stack overflow;呼叫開銷使其通常慢於迭代;重複計算子問題時效率差。

8Linear Probing 插入追蹤

考點:Hash Function 與雜湊表(Hash Table)基本概念

25→5;35:5 占用→6;14→4;5:5、6 占用→7;16:6、7 占用→8;26:6、7、8 占用→9;19:9 占用→0。

0 1 2 3 4 5 6 7 8 9
19 14 25 35 5 16 26

9Collision Handling 技術說明(Chaining/Open Addressing)

考點:Hash Function 與雜湊表(Hash Table)基本概念

Collision:兩個相異 key 經雜湊函數算出同一 slot。

Separate chaining:同一 slot 的 key 以 linked list 串接。例:N=5,12、22、7 皆落在 slot 2,串成 12 → 22 → 7。

  • 優點:表不會滿(α 可 >1)、刪除簡單。
  • 缺點:指標佔額外記憶體、cache locality 差、單鏈過長退化為 O(n)。

Open addressing:碰撞時在表內探測下一個空 slot。例:linear probing indexi=(h(k)+i)modN,N=5 時 12→2、22→3、7→4。

  • 優點:無指標開銷、cache locality 佳。
  • 缺點:α≤1,表滿無法插入;α 接近 1 時效能急降;linear probing 有 primary clustering;刪除須用 tombstone。

10AVL Tree 索引設計:Insert/Delete 操作說明

考點:AVL Tree 刪除與重新平衡:三種刪除情況與往上逐層檢查旋轉、AVL Tree 插入與四種旋轉(LL/RR/LR/RL)調整規則

以 Patient ID 為 key,節點存 key 與指向完整病歷的指標。

Insert(O(logn)):依 BST 規則插入,沿路往上檢查 BF,第一個 |BF|>1 的節點依 LL/RR/LR/RL 旋轉。例:已有 100、200,插入 300 時於 100 觸發 RR,左旋後 200 成為 root。

Delete(O(logn)):依 BST 刪除三種情況移除(degree-2 以 inorder successor 頂替),再由父節點往上逐層修正失衡,可能需多次旋轉。

中央其他年份