Java教程

数据结构与算法 - 哈夫曼树与哈夫曼编码

本文主要是介绍数据结构与算法 - 哈夫曼树与哈夫曼编码,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

以这题为例,演示一下哈夫曼树的构建过程,以及如何进行哈夫曼编码。

假设某消息中只包含7个字符怡{a,b,c,d,e,f,g},折7个字符在消息中出现的次数为{5,24,8,17,34,4,13},利用哈夫曼树(最优二叉树)为该消息中的字符构造符合前缀编码要求的不等长编码。各字符的编码长度分别为      

A.a:4,b:2,c:3,d:3,e:2,f:4,g:3                    B.a:6,b:2,c:5,d:3,e:1,f:6,g:4

C.a:3,b:3,c:3,d:3,e:3,f:2,g:3                    D.a:2,b:6,c:3,d:5,e:6,f:1,g:4


 

最后发现B和E的编码是01和11,像这样出现频率高的内容,用少的比特位编码,能够使压缩达到最大效率。

这篇关于数据结构与算法 - 哈夫曼树与哈夫曼编码的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!