考點分析 / 中正 / 111

111 中正資工所軟體考點分析

全卷 20 題、涵蓋面最廣的一年。C++ 觀念配對與字串型別比較佔 25%,圖論部分連考 articulation point、AOE critical path、Floyd-Warshall 與 Johnson。

題型與配分

系所組別「資訊工程學系-甲組」,科目名稱:軟體設計,全卷 6 頁、20 題、100 分。

題號主題配分
1–5C 基礎單選10%
6手寫反轉整數的程式15%
7C++ 名詞配對14%
8char\* 與 string 的五項比較10%
9C++ template1%
10–15資料結構單選17%
16Articulation point4%
17AOE critical path+Dijkstra4%
18排序是否漸進最佳4%
19負權圖的最短路徑(4 小題)17%
20三元 Huffman code4%

逐題考點

C/C++ 部分(1–9,共 52%)

  • 第 1–5 題(各 2%)|2000 元素二分搜尋的最大比較次數(11)、sizeof(r)/sizeof(int) 求陣列元素數、b[3] 的等價指標寫法 *(bPtr+3)、x <<= 1; x >>= 1; 的效果(最左位元被清成 0,因為算術右移會補符號)、遞迴階乘 mystery(4) 的回傳值(24)
  • 第 6 題(15%)|手寫 C 程式反轉 32-bit 整數的位數,溢位時回傳 0。要處理負數、尾端 0 與溢位偵測(這是 LeetCode 7)
  • 第 7 題(14%)|C++ 名詞配對:constructor/destructor/data member/member function/private/public/recursive 對應到 9 個描述
  • 第 8 題(10%)|**動態配置的 char\* 與 string 物件的五項性質比較:能否含 null 字元、記憶體是否自動釋放、內容能否修改、能否 O(1) 存取第 k 個字元、= 是否做深拷貝**
  • 第 9 題(1%)|C++ template 的用途(讓同一份泛型程式碼處理不同型別的資料)

資料結構與演算法部分(10–20,共 48%)

  • 第 10 題(3%)|依序插入 51, 26, 11, 6, 8, 4, 7 建 AVL 樹,以陣列表示時的內容
  • 第 11 題(3%)|給 post-order 序列與各節點的子節點個數,問樹是否唯一、pre-order 為何
  • 第 12 題(3%)|10 個數字建 max-heap 後,heap sort 輸出前兩大之後的陣列狀態
  • 第 13 題(2%)|表大小 11、division method、linear probing,插入 25, 42, 96, 101, 102, 162, 197, 201 後的表格
  • 第 14 題(3%)|給一般樹的括號表示法 (A(B(E(K,L),F), C(G), D(H(M),I,J))),轉成二元樹(left-child right-sibling)後的 post-order
  • 第 15 題(3%)|一長串運算式的 prefix form
  • 第 16 題(4%,3 小題)|從頂點 B 開始的 DFS 生成樹、low 值、articulation point(與 110 年第 3 題同型)
  • 第 17 題(4%,2 小題)|(17.1) AOE network 的 critical path (17.2) 同一張圖跑 Dijkstra 時頂點被選取的順序
  • 第 18 題(4%)|論證 quicksort 與 mergesort 是否為漸進最佳,要寫出理由
  • 第 19 題(17%,4 小題)|含負權邊的圖:
  • (a) 2%|指定源點跑 Dijkstra 會輸出什麼?寫出理由
  • (b) 4%|重新配權(reweight)這張圖
  • (c) 8%|用 Floyd-Warshall 求出距離矩陣與前驅矩陣,要寫出推導
  • (d) 3%|給定圖 G,如何判斷 Floyd-Warshall 與 Johnson 哪個理論上更快(比較 O(V3) 與 O(V2log V + VE),關鍵在圖的稠密度)
  • 第 20 題(4%)|推導 7 個符號的最佳三元(ternary)Huffman code。注意三元 Huffman 要先補虛擬符號使 (n−1) mod 2 = 0

這份考卷的難點

  1. 第 19 題(17 分)是全卷核心,一次串起「Dijkstra 為何在負權圖失效 → 重新配權 → Floyd-Warshall 的完整矩陣 → Johnson 與 Floyd 的取捨」,四小題層層遞進。
  2. 第 6 題要在紙上寫出能處理溢位的整數反轉,邊界條件(負數、尾端 0、超出 int 範圍)都要照顧到。
  3. 第 20 題的三元 Huffman 需要知道「符號數不足時要補機率為 0 的虛擬符號」這個細節,直接用二元的作法會錯。
  4. 第 8 題的五項比較很細,例如「string 的 = 是深拷貝、char\* 的 = 只是複製指標」。

準備建議

  • 中正連兩年考 articulation point 的 dfn/low(110 第 3 題、111 第 16 題),這個演算法要練到能機械化執行
  • 負權圖的處理三連(Dijkstra 失效 → 重新配權 → Floyd/Johnson)是中正 110、111 的共同主題
  • 三元 Huffman code 是少見但會考的變形,「補虛擬符號」的規則要記
  • 手寫程式題每年都有(109 的 linked list/讀檔、111 的整數反轉),紙筆寫 C 的能力必須練

想看完整逐題詳解?

國立中正大學 108–115 全年度完整詳解共 222 頁,逐題推導。

購買 · NT$ 850 先看試閱

其他年度與考科