跳到主要内容
uencoder

Huffman Coding

Huffman 编码是 David Huffman 于 1952 年提出的前缀码构造算法,为高频符号分配短码、低频符号分配长码,达到熵下界最优。

用途

在已知符号频率时构造最优前缀码实现无损压缩,是 DEFLATE、JPEG、MP3 等格式的后端。

机制

统计符号频率,构建 Huffman 树:反复将频率最低的两个节点合并为新父节点直至根;从根到叶的路径(左 0 右 1)即为各符号编码。高频符号路径短。

用例

  • DEFLATE 中的熵编码
  • JPEG/MP3 熵编码阶段
  • 文本压缩后端

相关工具

参考链接