免費開始練習
moea_joint_essay 111年 [儀電] 計算機概論、自動控制

第 二 題

📖 題組:
請回答下列問題:(2 題,共 15 分)
📝 此題為申論題,共 2 小題

小題 (二)

有 9 個英文字母之頻率如下表所示,請利用霍夫曼編碼技術,將 “smile” 以霍夫曼碼編碼表示。(10 分)

| 字母 | a | e | i | o | u | b | l | m | s |
|---|---|---|---|---|---|---|---|---|---|
| 頻率 | 45 | 52 | 59 | 38 | 30 | 17 | 41 | 16 | 32 |

思路引導 VIP

根據題意給定之頻率建立霍夫曼樹,計算各字元之二進位編碼,最後將字串 'smile' 中的每個字母編碼依序串接。

🤖
AI 詳解
AI 專屬家教
  1. 根據給定的頻率建立霍夫曼樹: 字元依頻率由小到大排列:m(16), b(17), u(30), s(32), o(38), l(41), a(45), e(52), i(59)
  • 合併 m(16) 與 b(17) 得到節點 N1(33)。

小題 (一)

請簡述霍夫曼碼(Huffman Code)之編碼原理。(5 分)

思路引導 VIP

說明霍夫曼編碼如何透過字元出現頻率建立二元樹,使高頻字元擁有較短編碼,低頻字元擁有較長編碼,以達到無失真資料壓縮及前綴碼的最佳化平均長度。

🤖
AI 詳解
AI 專屬家教

霍夫曼編碼 (Huffman Code) 是一種用於無失真資料壓縮的變動長度前綴編碼 (Prefix Code) 演算法。其編碼原理如下:

  1. 統計頻率:統計待編碼資料中各個字元出現的頻率。
  2. 建立霍夫曼樹:將每個字元視為一個葉節點,並依據其頻率由小到大排列。每次從中取出頻率最小的兩個節點,合併成一個新的父節點(其頻率為兩子節點頻率之和),並放回序列中重新排序。重複此步驟,直到集合中只剩下一個根節點為止,形成一棵二元樹。

🏷️ 相關主題

TCP/IP協定架構與網路位址規劃技術
查看更多「[儀電] 計算機概論、自動控制」的主題分類考古題