113 年 國立臺灣大學生醫電子與資訊學研究所丙組《計算機概論(B)》
第 1 題2 分
Is the following statement true (T) or false (F)? "5G is the next generation of radio systems and network architecture that delivers extreme broadband, ultra-robust, low latency connectivity, and massive networking for the Internet of Things."
登入後即可作答並保存紀錄。
此題考驗對 5G 技術基本特性的了解。5G 的主要目標確實是提供更快的速度(extreme broadband)、更高的可靠性(ultra-robust)、更低的延遲(low latency
第 2 題2 分
Is the following statement true (T) or false (F)? "GPU has become one of the most important types of computing technology, known for graphics and widely used in gaming or nowadays training Machine Learning models. It is designed for parallel processing."
登入後即可作答並保存紀錄。
此題在考察 GPU(Graphics Processing Unit)的特性與應用。GPU 最初是為圖形處理而設計,其架構擅長大規模並行計算,這使得它在遊戲、影音編輯等領域非常重要。
第 3 題2 分
Is the following statement true (T) or false (F)? "JPEG is a commonly used method of lossless compression for digital images."
登入後即可作答並保存紀錄。
此題考查對 JPEG 影像壓縮格式的理解。JPEG(Joint Photographic Experts Group)是一種廣泛使用的圖像壓縮標準,但它是一種有損壓縮(lossy compression)方法,旨在以犧
第 4 題2 分
Is the following statement true (T) or false (F)? "The seven layers of OSI from lowest-level to highest-level are the Physical Layer, the Transport Layer, the Data Link Layer, the Network Layer, the Session Layer, the Presentation Layer, and the Application Layer."
登入後即可作答並保存紀錄。
此題在檢查對 OSI(Open Systems Interconnection)七層模型順序的記憶。OSI 模型從最低層(最接近硬體)到最高層(最接近使用者)的正確順序是:
- Physical Layer (實體層)
- Data Link Layer (資料鏈結層)
- Network Layer (網路層)
- Transport Layer (傳輸層)
- Session Layer (交談層)
第 5 題2 分
"Deep learning is a subset of Machine Learning and Machine Learning is a subset of artificial intelligence that uses algorithms to learn patterns from data."
登入後即可作答並保存紀錄。
此題在考察人工智能(AI)、機器學習(ML)和深度學習(DL)之間的包含關係。
人工智慧(AI)是一個廣泛的領域,目標是創建能夠執行通常需要人類智能的任務的系統。
機器學習(ML)是 AI 的一個子集,專注於開發能夠從數據中學習並改進其性能的演算法,而無需明確編程。
深度學習(DL)是機器學習的一個子集,它利用深度神經網路(具有多個層)來學習數據的表示。
第 6 題10 分
Simply the boolean algebra equation. Which of the following expression is equivalent to ?
(A)
(B)
(C)
登入後即可作答並保存紀錄。
此題考查布林代數化簡。我們需要化簡給定的布林表達式 。
首先,我們利用布林代數的基本性質:
- (恆等律)
- (冪等律)
- (冪等律)
- (零律)
- (零律)
- (吸收律)
- (吸收律)
- (補碼律)
- (補碼律)
- (吸收律)
- (吸收律)
- (德摩根定律)
- (德摩根定律)
- (交換律)
- (交換律)
- (結合律)
- (結合律)
- (分配律)
- (分配律)
第 7 題10 分
We are going to send the string "successes" over a network using Huffman coding. So we first compute the character frequencies, {s: 4, u: 1, c: 2, e: 2}, and then derive the Huffman code. How many bits do we need to send the string?
(A) 17 bits
(B) 20 bits
(C) 32 bits
登入後即可作答並保存紀錄。
核心觀念
Huffman coding 是一種依照字元出現頻率建立「最佳前綴碼」的方法:
- 每次選出頻率最低的兩個節點合併。
- 重複合併,直到形成一棵二元樹。
- 字元的 Huffman code 長度,就是該字元在樹中的深度。
- 傳送總位元數為:
頻率越高的字元通常會分配到越短的編碼。
解題方法
字元頻率如下:
| 字元 | 頻率 |
|---|---|
依照 Huffman 演算法,依序合併最低頻率的節點:
此時剩下的頻率為 ,再合併:
最後合併:
因此樹的結構可表示為:
- 位於根節點的一側,碼長為 。
- 位於頻率 的節點下,碼長為 。
- 與 位於更深層,碼長皆為 。
一組可能的 Huffman code 為:
| 字元 | 頻率 | Huffman code | 碼長 |
|---|---|---|---|
第 8 題10 分
What is the output of the code about the stack shown on the right?
stackType<int> stack;
int x, y;
x = 5;
y = 3;
stack.push(4);
stack.push(x);
stack.push(x + 1);
y = stack.top();
stack.pop();
stack.push(x + y);
x = stack.top();
cout << "x = " << x << endl;
cout << "y = " << y << endl;
(A) x=6
y=11
(B) x=11
y=6
登入後即可作答並保存紀錄。
此題考查對堆疊(Stack)操作的理解以及 C++ 程式碼的執行流程。我們需要逐步跟蹤程式碼的執行,並記錄變數 x 和 y 的值以及堆疊的狀態。
程式碼逐行分析:
stackType<int> stack;:宣告一個名為stack的整數型別堆疊。int x, y;:宣告整數變數x和y。x = 5;:x被賦值為 5。y = 3;:y被賦值為 3。stack.push(4);:將 4 壓入堆疊。堆疊:[4]stack.push(x);:將x(即 5) 壓入堆疊。堆疊:[4, 5]stack.push(x + 1);:將x+1(即 5+1=6) 壓入堆疊。堆疊:[4, 5, 6]y = stack.top();:stack.top()返回堆疊頂端的元素(即 6),並將其賦值給y。
第 9 題10 分
What is the necessary condition for a deadlock situation?
(A) Mutual exclusion
(B) No preemption
(C) Hold and wait
(D) Circular set
(E) All the above
登入後即可作答並保存紀錄。
核心觀念
本題考查作業系統中的「死結」(deadlock)及其必要條件。
死結是指一組程序彼此等待對方所持有的資源,導致所有程序都無法繼續執行。根據 Coffman 條件,死結成立必須同時具備以下四項必要條件:
- Mutual exclusion(互斥):某些資源一次只能由一個程序使用。
- Hold and wait(持有並等待):程序已持有部分資源,同時等待其他資源。
- No preemption(不可搶奪):程序持有的資源不能被系統強制取回,只能由程序自行釋放。
- Circular wait(循環等待):程序之間形成封閉的等待鏈。
可表示為:
其中 表示程序 正在等待程序 所持有的資源。
這四項條件必須同時存在,缺少任一項便不會形成典型死結。
解題方法
直接套用死結的四個必要條件:
- 資源必須具有互斥性;
- 程序必須在持有資源的同時等待其他資源;
- 已分配的資源不能被強制搶回;
- 程序間必須形成循環等待。
題目選項 A 至 D 分別對應這四項條件。D 選項使用 Circular set,在此題語意中應理解為程序或資源形成循環等待集合,即標準術語 circular wait。
因此四項條件全部包含,答案為 E。
選項分析
(A) Mutual exclusion
第 10 題10 分
Convert the decimal number 32 into binary representation.
(A) 00100001
(B) 00100000
(C) 01000000
登入後即可作答並保存紀錄。
此題考查十進制數轉換為二進制數。我們需要將十進制數 32 轉換為二進制表示。
轉換方法:
重複除以 2,直到商為 0,記錄每次的餘數,然後將餘數倒序排列。
- 餘
- 餘
- 餘
- 餘
- 餘
- 餘
將餘數倒序排列:。
所以,十進制數 32 的二進制表示是 。
第 11 題10 分
Choose the recursive formula for the Fibonacci series. (n>=1)
(A)
(B)
(C)
(D)
登入後即可作答並保存紀錄。
核心觀念
Fibonacci 數列的定義為:每一項等於前兩項之和。常見初始條件是
因此其遞迴公式為
題目雖標示 ,但遞迴式本身需要使用 ,所以實際套用範圍應從 開始。
解題方法
觀察 Fibonacci 數列:
例如:
可見第 項由前一項 與前兩項 相加得到,因此正確遞迴公式是
選項分析
(A)
錯誤。右側使用的是第 項之後的兩項,方向與 Fibonacci 遞迴定義相反。以 檢查:
第 12 題10 分
What is the minimum cost spanning tree for the graph on the right?
🖼️【此處有附圖,請對照原卷】
(A) 28
(B) 11
(C) 13
登入後即可作答並保存紀錄。
核心觀念
本題考查最小成本生成樹(Minimum Cost Spanning Tree, MST)。
生成樹必須:
- 連接圖中的所有頂點;
- 恰好選取 條邊;
- 不形成 cycle;
- 所有可能的生成樹中,總邊權重最小。
可使用 Kruskal 演算法:將邊依權重由小到大排列,依序選取不會形成環的邊。
解題方法
圖中共有 個頂點,因此生成樹必須選取:
依邊權重排序:
依序選邊:
- 選權重 :連接上方頂點與左上頂點。
- 選權重 :連接左下頂點與右下頂點。
- 選權重 :連接左上頂點與右下頂點。
- 選權重 會與既有邊形成 cycle,因此跳過。
第 13 題10 分
Here is a binary tree as shown on the right. What is the postorder traversal of this binary tree?
🖼️【此處有附圖,請對照原卷】
(A) 0136742689
(B) 6371402859
(C) 6734189520
登入後即可作答並保存紀錄。
核心觀念
本題考查二元樹的後序走訪(postorder traversal)。
後序走訪順序為:
解題方法
依圖可讀出二元樹結構:
- 根節點為
- 的左子樹根為 ,右子樹根為
- 的左子樹為 、右子樹為
- 的左子節點為 、右子節點為
- 的右子樹根為
- 的左子節點為 、右子節點為
依照「左、右、根」順序:
-
節點 的子樹:
- 的後序為
- 再訪問
- 最後訪問
得到:
-
節點 的子樹:
- 的後序為
- 最後訪問
得到:
第 14 題10 分
What is the inorder traversal of the same binary tree shown above?
🖼️【此處有附圖,請對照原卷】
(A) 0136742689
(B) 6371402859
(C) 6734189520
登入後即可作答並保存紀錄。
核心觀念
本題考查二元樹的中序走訪(inorder traversal),規則為:
必須對每個子樹遞迴套用相同順序。
解題方法
依圖中的二元樹:
- 根節點為
- 的左子樹以 為根,右子樹以 為根
- 的左、右子樹分別為 、
- 的左、右子樹分別為 、
- 的右子樹為 ,而 的左、右子樹分別為 、
左子樹 的中序走訪:
根節點 接在左子樹之後: