返回介绍

Huffman Compression

发布于 2025-02-22 13:01:19 字数 1065 浏览 0 评论 0 收藏 0

主要思想:放弃文本文件的普通保存方式:不再使用 7 位或 8 位二进制数表示每一个字符,而是 用较少的比特表示出现频率最高的字符,用较多的比特表示出现频率低的字符

使用变长编码来表示字符串,势必会导致编解码时码字的唯一性问题,因此需要一种编解码方式唯一的前缀码,而表示前缀码的一种简单方式就是使用单词查找树,其中最优前缀码即为 Huffman 首创。

以符号 F, O, R, G, E, T 为例,其出现的频次如以下表格所示。

SymbolFORGET
Frequence234457
Code0000011001010110

则对各符号进行霍夫曼编码的动态演示如下图所示。基本步骤是将出现频率由小到大排列,组成子树后频率相加作为整体再和其他未加入二叉树中的节点频率比较。加权路径长为节点的频率乘以树的深度。

Huffman

有关霍夫曼编码的具体步骤可参考 Huffman 编码压缩算法 | 酷 壳 - CoolShell.cn霍夫曼编码 - 维基百科,自由的百科全书 ,清晰易懂。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文