免費開始練習
高考申論題 112年 [電力工程] 計算機概論

第 一 題

📖 題組:
假設有一串文字由字母 a, b, c, d, e, f 所組成,並且每個字母出現的頻率如下表所示。若欲將此串文字進行霍夫曼編碼(Huffman Encoding)成 01 字元字串,請回答下列問題: 字母 a b c d e f 出現頻率 16% 10% 8% 25% 35% 6%
📝 此題為申論題,共 2 小題

小題 (一)

請產生霍夫曼樹(Huffman Tree),並詳細畫出產生的過程。不失一般性,請將出現頻率低的置於左子樹,出現頻率高的置於右子樹,出現頻率相同時則可任意擇一置於左子樹,另一個置於右子樹。(10 分)

思路引導 VIP

面對霍夫曼樹(Huffman Tree)建構題,首先應聯想到使用貪婪演算法(Greedy Algorithm),將所有字元依頻率由小到大排序。接著重複「選取兩個最小節點合併」的動作,並嚴格遵守題目所規定的「左小右大」放置原則,逐步畫出樹狀結構。

🤖
AI 詳解
AI 專屬家教

【解題思路】運用貪婪演算法(Greedy Algorithm),重複自未處理的節點清單中選取兩個出現頻率最低的節點進行合併,並依題目要求將低頻率置於左子樹(Left Subtree)、高頻率置於右子樹(Right Subtree),直至形成單一樹根(Root Node)為止。 【詳解】 已知初始節點及其出現頻率(依由小至大排序):

小題 (二)

承(一),若將霍夫曼樹中之左子樹標 0,右子樹標 1,請寫出各字母的霍夫曼碼。(5 分)

思路引導 VIP

遇到霍夫曼編碼(Huffman Encoding)題型,考生應先利用貪婪演算法(Greedy Algorithm),從頻率最小的兩個節點開始逐步合併以建構霍夫曼樹(Huffman Tree)。建樹完成後,嚴格遵循題目「左子樹標 0、右子樹標 1」的規則,從根節點(Root)向下走訪至各葉節點(Leaf Node),即可求得無編碼衝突的字首碼(Prefix Code)。

🤖
AI 詳解
AI 專屬家教

【解題思路】利用貪婪演算法(Greedy Algorithm)建構霍夫曼樹,每次挑選頻率最小的兩個節點進行合併;再依據題意,自根節點起「左分支標 0、右分支標 1」進行路徑走訪以取得字首碼(Prefix Code)。 【詳解】 已知:各字母出現頻率為 f(6%)、c(8%)、b(10%)、a(16%)、d(25%)、e(35%)。

升級 VIP 解鎖