哈夫曼树
哈夫曼编码(Huffman Coding)
哈夫曼编码,又称为霍夫曼编码,它是现代压缩算法的基础
假设要把字符串 [ABBBCCCCCCCCDDDDDDEE] 转成二进制编码进行传输。
可以转成 ASCII 编码 (6569,10000011000101) ,但是有点冗长,如果希望编码更短呢?
可以先约定好字符串中的 5 个字母对应的二进制,如下所示
如果使用哈夫曼编码,可以压缩至 41 个二进制位,约为原来长度的 68.3%
哈夫曼树
构建哈夫曼树
构建哈夫曼编码
如何求得 5 个字母对应的哈夫曼编码?
- 从根节点开始,以 left 为 0,right 为 1 开始往下一个节点一个节点的数,即可得出。
ght 为 1 开始往下一个节点一个节点的数,即可得出。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/189720.html