码迷,mamicode.com
首页 > 其他好文 > 详细

霍夫曼编码

时间:2015-04-16 23:20:23      阅读:164      评论:0      收藏:0      [点我收藏+]

标签:

进行霍夫曼编码前,我们先创建一个霍夫曼树。

⒈将每个英文字母依照出现频率由小排到大,最小在左,如Fig.1

技术分享

? ?

⒉每个字母都代表一个终端节点(叶节点),比较F.O.R.G.E.T五个字母中每个字母的出现频率,将最小的两个字母频率相加合成一个新的节点。如Fig.2所示,发现FO的频率最小,故相加2+3=5

⒊比较5.R.G.E.T,发现RG的频率最小,故相加4+4=8

⒋比较5.8.E.T,发现5E的频率最小,故相加5+5=10

⒌比较8.10.T,发现8T的频率最小,故相加8+7=15

⒍最后剩10.15,没有可以比较的对象,相加10+15=25

最后产生的树状图就是霍夫曼树,参考Fig.2。

? ?

技术分享

? ?

进行编码

1.给霍夫曼树的所有左链结‘0‘与右链结‘1‘。

2.从树根至树叶依序记录所有字母的编码,如Fig.3。

技术分享

? ?

霍夫曼编码

标签:

原文地址:http://www.cnblogs.com/keedor/p/4433388.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!