【软考】哈夫曼编码
来源:互联网 发布:印象笔记 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
- 【软考】哈夫曼编码
- 软考
- 软考
- 软考
- 软考
- 软考
- 软考
- 软考
- 软考、
- 软考
- 软考
- 软考
- 软考
- 软考
- 软考
- 【软考】--软考总结
- 软考--考后总结
- 【软考】---考后总结
- HDU 5900 QSC and Master (区间DP)
- 分解质因数(难度:半颗星)
- Codeforces Round #413 D. Field expansion (搜索)
- Code Vs-problem-1978 Fibonacci数列 3
- 如何看待Google最新的系统Fuchsia?听帅张怎么说...
- 【软考】哈夫曼编码
- git分支恢复
- 小白题解 Codeforces 798B Mike and strings
- android 动画实现之 Tween Animation(补间动画)
- 2017华东师范大学网赛-七巧板
- 搭建Ngrok实现树莓派内网穿透
- 编译Servlet时跳出下载文件对话框的问题
- JDK动态代理原理
- W2.3 Hadoop2.6安装