110年公務人員特種考試關務人員、身心障礙人員考試及 110年 國 軍 上 校 以 上 軍 官 轉 任 公 務 人 員 考 試 試 題 考 試 別:身心障礙人員考試
等 別:三等考試 類 科:資訊處理 科 目:資料結構
考試時間: 2 小時 座號:
※注意: 禁止使用電子計算器。
不必抄題,作答時請將試題題號及答案依照順序寫在試卷上,於本 試題上作答者,不予計分。
本科目除專門名詞或數理公式外,應使用本國文字作答。
代號:30760 頁次:2-1
一、在大數據分析的應用中,許多資料集是以稀疏矩陣(Sparse matrix)的方 式呈現,如:客戶的購物行為等。這些資料集共同的特性是資料維度大,
但其中的資料量相對稀少,若直接以傳統陣列結構來儲存資料,將會造成 大量的空間浪費。請以 C 語言完成下列問題要求:
設計一有效的二維稀疏矩陣資料結構,避免儲存不存在(或其值為 0)
的資料,有效利用空間。(5 分)
使用所設計的資料結構,完成矩陣的轉置(Transpose)運算函式。
(10 分)
使用所設計的資料結構,完成維度分別為 mn 的 A 矩陣與 nl 的 B 矩 陣之矩陣相乘(Multiply)運算函式。(10 分)
二、ㄧ有向圖形(directed graph)G = (V, E)如下:
請以相鄰矩陣(adjacency matrix)表達有向圖形 G。(5 分)
設計一演算法找尋圖形中所有端點(node)對端點的最短路徑(all-pairs shortest path),並以有向圖形 G 的相鄰矩陣為例說明所使用演算法的 計算過程。(15 分)
請說明在上述中所使用演算法的時間複雜度(time complexity)為何?
(5 分)
B C D
A
E 2
8 7 4
9
4
5
4
5
5 8
7 2 2
代號:30760 頁次:2-2
三、對資料庫系統的檔案儲存結構而言,必須能夠隨著檔案資料的增多,動態 的新增儲存區塊(block),例如:B-tree 樹狀檔案資料結構,即可隨著資 料量變大而增加葉節點區塊(leaf node block)或增加樹的高度來因應。下 列為 m = 5 (5way) B-tree 的現況,目前已存有 13 筆資料:
請問具有 K 層以上 m = 5 結構的 B-tree 至少可以存放多少筆資料?
(5 分)
請畫出完成運算 insert(7)與 insert(28)後的 B-tree 結構。(10 分)
完成上述之後接續畫出先後完成運算 insert(15)與 insert(6)的 B-tree 結構。(10 分)
四、霍夫曼碼(Huffman code)是具有最佳編碼的資料壓縮方法之一,今有下 列的訊息欲以霍夫曼碼編碼傳遞以節省訊息量
“PAPAYA_AND_BANANA_ARE_YUMMY”
其中空格 ‘_’ 亦需計算在訊息量內。
請以該訊息詳述構建霍夫曼碼演算法的過程與結果。(20 分)
依步驟說明所使用演算法的時間複雜度(time complexity)。(5 分)
9
1 11 22
20
3 5 14 16 18 24 26 27