【软考】哈夫曼编码

来源:互联网 发布:印象笔记 for mac 编辑:程序博客网 时间:2024/05/22 08:20

哈夫曼编码

       哈夫曼编码借助哈夫曼树来实现的。以例子说明:
       有四个字符,a,b,c,d,出现的频率(可以看成权值)为1,2,3,4。将这四个字符进行哈夫曼编码

步骤

       1)取权值最小的两个值作为左右子树构造出一个新树,本例中取1和2

       2)将相加得来的3,加入到[3,4]中,重复1)的步骤

       3)重复1)和2)的步骤

       这样,我们就得到a,b,c,d这四个字符对应的编码了,它们依次是:110,111,10和0。

PS

       我们需要注意的是:
       1、哈夫曼树中,左子树的值小于右子树的值;
       2、左子树对应0,右子树对应1。

字符串长度

       字符创长度的话,简单计算下各个字符串对应的二进制长度再累加即可。
感谢您的宝贵时间,祝生活愉快,谢谢~~
                                                                     —书生
0 0
原创粉丝点击