二、請回答下列問題:
 (一)請簡述霍夫曼碼(Huffman Code)之編碼原理。(5 分)

詳解 (共 2 筆)

劉邦玄
劉邦玄
詳解 #6418237
2025/05/13

以下是 霍夫曼碼(Huffman Code) 的簡明編碼原理說明(要點式):



---

霍夫曼碼編碼原理:

目的:用來做無失真資料壓縮,常見於文字、影像壓縮中。

基本概念:

根據每個符號(字元)出現頻率不同,給予不同長度的二進位碼。

頻率高的字元用短碼,頻率低的字元用長碼,以降低整體平均位元數。


編碼步驟:

1. 統計所有符號的出現頻率。


2. 建立最小堆積(min-heap)或優先佇列。


3. 每次取出兩個最小頻率的節點合併為一個新節點,頻率為兩者相加。


4. 重複步驟 3,直到剩下一個根節點,形成霍夫曼樹(Huffman Tree)。


5. 由根節點往下走,左為 0、右為 1,產生每個字元的霍夫曼碼。



特性:

屬於前綴碼(Prefix Code),不會產生解碼歧義。

可實現最小平均碼長的最佳編碼結果。





CC
CC
詳解 #5949015
2023/10/18
將要壓縮之字串先讀一遍,再將字串中的每一個相異單字元的出現頻率做成統計,依此來建構。