哈夫曼平均碼長

🔐 Huffman Average Code Length

Estimate the average code length and compression efficiency from symbol frequencies per Huffman coding.

📐 計算公式與說明

平均碼長 = Σ(fᵢ / Σf) · lᵢ
理論下界為資訊熵 H

輸入頻率(或機率,歸一化後結果一致)。

📚 深度解析:哈夫曼平均碼長

💡 常見使用場景

示例:A:0.5 B:0.25 C:0.25
哈夫曼碼 A=0,B=10,C=11,平均碼長=0.5×1+0.25×2+0.25×2=1.5 bit/符號(熵=1.5,已達最優)。

❓ 常見問題(FAQ)

哈夫曼為何最優?
在滿足字首碼條件下使平均碼長最小,等於資訊熵(機率取 2 的冪時)。
與算術編碼區別?
算術編碼可超越符號邊界、更接近熵,哈夫曼實現簡單但略有冗餘。
頻率未知怎麼辦?
需先統計或使用通用模型,動態場景可用自適應哈夫曼。