Huffman Coding
Huffman 编码是 David Huffman 于 1952 年提出的前缀码构造算法,为高频符号分配短码、低频符号分配长码,达到熵下界最优。
用途
在已知符号频率时构造最优前缀码实现无损压缩,是 DEFLATE、JPEG、MP3 等格式的后端。
机制
统计符号频率,构建 Huffman 树:反复将频率最低的两个节点合并为新父节点直至根;从根到叶的路径(左 0 右 1)即为各符号编码。高频符号路径短。
用例
- DEFLATE 中的熵编码
- JPEG/MP3 熵编码阶段
- 文本压缩后端