考點分析 / 師大 / 114

114 師大資工所軟體考點分析

前半是 20 分的 C 程式填空與選擇,後半連考三題證明:邊權加常數對 MST 與最短路徑的影響、以及 TSP 的 2-近似完整證明(20 分)。

題型與配分

科目「軟體基礎」,適用系所:資訊工程學系,全卷 5 頁、8 大題、100 分。

大題主題配分
一C 程式填空(12 格)20%
二排序問題8%
三選擇題(4 題)12%
四Adjacency multi-list 與雙連通元件10%
五未知長度陣列的 O(log n) 搜尋7%
六模反元素演算法8%
七邊權加常數的影響(證明)15%
八TSP 的 2-近似證明20%

逐題考點

一、填充題(20%,12 格)

  • (一) 4%|用陣列實作 stack 的 isEmpty/push/pop 填 4 格
  • (二) 6%|用 stack 檢查括號是否配對的 isBalanced 填 3 格
  • (三) 10%|合併兩條已排序串列(用 dummy head)的 mergeSortedLists 填 5 格

二、排序問題(8%)

  • (一) 4%|7 個已排序檔案(大小 1200, 900, 2500, 3200, 800, 1800, 1500)要做多次 2-way merge,決定合併順序使總 I/O 最小。這就是 Huffman/最佳合併樹
  • (二) 4%|給 9 個數字的陣列與四個中間狀態,判斷哪個是 insertion sort 的可能中間結果、哪個是 iterative merge sort 的可能中間結果

三、選擇題(12%,4 題各 3%)

  • (一) adjacency matrix 下取得某頂點所有邊的複雜度
  • (二) 求 n 節點二元樹高度的最壞複雜度(O(n),與 113 年第 8(a) 題相同)
  • (三) 在 max heap 中找特定元素的複雜度(O(n))
  • (四) 多選:BST 的哪些走訪可以重建出相同的樹結構(preorder、postorder、level-order 都可以;單獨的 inorder 不行)

四、Adjacency multi-list(10%)

給圖 G 的 adjacency multi-list 結構:(一) 3% 從 V3 出發的 BFS 生成樹 (二) 4% 從頂點 3 出發求各頂點的 dfn 與 low (三) 3% 畫出雙連通元件

五、O(log n) 搜尋(7%)

陣列 A[1:N] 前 n 個位置(n < N/2)是遞增整數,其餘都是很大的數 M。輸入只有 y,不知道 n 與 N,要設計 O(log n) 演算法找出 A[k] = y 或回報不存在。標準解:先用指數倍增(1, 2, 4, 8…)找出邊界,再二分搜尋

六、模反元素(8%)

輸入 a 與 n,設計有效率的演算法求 a 在 Z_n 中的反元素(擴展歐幾里得演算法)

七、邊權加常數(15%)

圖中有負權邊,若把所有邊權加上同一個固定常數使其非負:

  • (一) 7%|是否仍能得到原圖正確的 MST?(可以 —— 要證明:MST 的邊數固定為 |V|−1,所有生成樹都增加同樣的量)
  • (二) 8%|最短路徑是否也可以?(不行 —— 要舉反例:不同路徑的邊數不同,增加量不同)

八、TSP 的 2-近似(20%)

在滿足三角不等式的完全圖上,用「求 MST → 對 T 做 DFS 列出頂點 → 輸出該環」得到的 Hamiltonian cycle C,要證明 **w(C) ≤ 2w(C\*)**,分三步:

  • (一) 9%|證明 w(C) ≤ 2w(T)(DFS 走訪每條樹邊兩次,再用三角不等式抄捷徑)
  • (二) 8%|證明 **w(T) ≤ w(C\* − {e})**(從最佳環刪掉任一邊會得到一棵生成樹,其權重不小於 MST)
  • (三) 3%|合併得出 **w(C) ≤ 2w(C\*)**

這份考卷的難點

  1. 第八題(20 分)的 TSP 2-近似證明是全卷核心,三步驟環環相扣,是 CLRS 第 35 章的完整定理證明。
  2. 第七題(15 分)的對比很漂亮:同樣是「所有邊加常數」,MST 不變但最短路徑會變。要能分別給出證明與反例。
  3. 第五題的「不知道 n 與 N」是關鍵限制 —— 必須先用指數倍增找邊界,直接二分搜尋是不行的。
  4. 第二(一) 題的最佳合併順序要認出是 Huffman,用 min heap 每次取兩個最小的合併。

準備建議

  • TSP 的 2-近似證明(114 第八題 20 分)與近似演算法在師大、台大 113、成大 107/111 都出現,CLRS 第 35 章務必讀
  • 「所有邊加常數」對 MST 與最短路徑的不同影響是跨校高頻對比(師大 114、台大 112、交大 114、師大 110)
  • 擴展歐幾里得求模反元素是數論內容,但在軟體考科出現,建議補一下
  • 師大的 C 程式填空每年都有(112、113、114),而且都是課本的標準實作(stack、queue、linked list merge)

想看完整逐題詳解?

國立臺灣師範大學 110–115 全年度完整詳解共 190 頁,逐題推導。

購買 · NT$ 850 先看試閱

其他年度與考科