哈夫曼编码
哈夫曼编码借助哈夫曼树来实现的。以例子说明:
有四个字符,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。
字符串长度
字符创长度的话,简单计算下各个字符串对应的二进制长度再累加即可。
感谢您的宝贵时间,祝生活愉快,谢谢~~
—书生