參考答案 / 政大 / 112 年 科技組 資料結構

國立政治大學資訊管理學系(科技組)

政大 112 年資管所(科技組) 資料結構 參考答案

共 10 題

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

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

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

I.1

考點:LCS(Longest Common Subsequence,最長共通子序列)動態規劃演算法

L[i,j]={0if i=0 or j=0L[i−1,j−1]+1if X[i−1]=Y[j−1]max(L[i−1,j], L[i,j−1])if X[i−1]≠Y[j−1]

  1. 建立 (m+1)×(n+1) 表格,第 0 列與第 0 行設為 0。
  2. 逐列逐行依上式填表,L[m,n] 即為 LCS 長度。
  3. 由 L[m,n] 反向追蹤:字元相等時輸出該字元並往左上走,否則往 L[i−1,j]、L[i,j−1] 中較大者走,最後把輸出反轉即為 LCS。

I.2

考點:LCS(Longest Common Subsequence,最長共通子序列)動態規劃演算法

"" C A A C A B C A C A
"" 0 0 0 0 0 0 0 0 0 0 0
A 0 0 1 1 1 1 1 1 1 1 1
C 0 1 1 1 2 2 2 2 2 2 2
A 0 1 2 2 2 3 3 3 3 3 3
C 0 1 2 2 3 3 3 4 4 4 4
A 0 1 2 3 3 4 4 4 5 5 5
C 0 1 2 3 4 4 4 5 5 6 6
B 0 1 2 3 4 4 5 5 5 6 6
A 0 1 2 3 4 5 5 5 6 6 7
A 0 1 2 3 4 5 5 5 6 6 7
C 0 1 2 3 4 5 5 6 6 7 7
C 0 1 2 3 4 5 5 6 6 7 7
A 0 1 2 3 4 5 5 6 7 7 8
A 0 1 2 3 4 5 5 6 7 7 8

L[12,9]=8。

II.1Build an AVL tree

考點:AVL Tree 插入與四種旋轉(LL/RR/LR/RL)調整規則

(如簡答圖)

II.1 參考答案圖

II.2Define a sorting algorithm and apply it

考點:BST 基本性質:中序對應關係、比較次數計算與 Internal/External Node 定義

對 T 做 Inorder Traversal(左、根、右),依序印出 key。

輸出:22, 26, 27, 29, 33, 48, 49, 53, 54, 69, 72, 97, 99, 108, 120, 208

II.3Splay tree put(118)

考點:Splay Tree 的兩種 Rotation 情況(Zig/Zig-Zig/Zig-Zag)

T:

(如簡答圖)

put(118) 後:

(如簡答圖-2)

II.3 參考答案圖II.3 參考答案圖

III.1Linear Probing

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

最終雜湊表(未列出者為空):

0:108 1:27 2:29 3:54 4:26 6:33 12:120 15:69 16:97 18:72 19:99 20:208 21:48 22:22 23:49 26:53

III.2Double Hashing

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

最終雜湊表(未列出者為空):

0:108 1:49 2:29 6:33 11:54 12:120 15:69 16:97 18:72 19:208 21:48 22:22 23:99 24:27 25:26 26:53

IV.1Represent an expression using a binary tree

考點:Expression Tree 建構:由中序運算式依運算子優先權建樹

(如簡答圖)

IV.1 參考答案圖

IV.2Pseudocode to evaluate the expression

考點:Expression Tree 建構:由中序運算式依運算子優先權建樹

function evaluate(node):
    if node is a leaf (external node):
        return node.value
    leftVal  = evaluate(node.left)
    rightVal = evaluate(node.right)
    return applyOperator(node.operator, leftVal, rightVal)

IV.3Pseudocode to print a binary tree expression with correct parentheses

考點:Expression Tree 建構:由中序運算式依運算子優先權建樹

function printExpression(v):
    if v is a leaf (external node):
        print(v.value)
    else:
        print("(")
        printExpression(v.left)
        print(v.operator)
        printExpression(v.right)
        print(")")

政大其他年份