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

霍夫曼编码

时间:2018-03-28 20:21:58      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:霍夫曼树   编码表   post   分支   .com   期望   评估   使用   不同   

霍夫曼编码使用变长编码表对源符号(如文件中的一个字母)进行编码,其中变长编码表是通过一种评估来源符号出现机率的方法得到的,出现机率高的字母使用较短的编码,反之出现机率低的则使用较长的编码,这便使编码之后的字符串的平均长度、期望值降低,从而达到无损压缩数据的目的。

霍夫曼编码具体步骤:

1、将信源符号的概率按减小的顺序排序
2、把两个最小的概率相加,始终将比较大的概率的分支放在右边,继续这一步骤(选取根节点权重最小的两棵树合并)
3、画出到每个信源符号的路径,(左0右1)得到每个信源符号的霍夫曼码

如:由6个不同字母组成的30个的字符串:CCABD EAFDD AACEE BBACA EFAAB CCCEA

1、计算每个字母的概率

A-----------------9
C-----------------7
E-----------------5
B-----------------4
D-----------------3
F-----------------2

2、将概率最小的相加并将较大概率分支放在右边

3、按左0右1的原则画出每个信源符号路径,得下图

技术分享图片

获得每个字符的编码:

A-----------------9-----------------10
C-----------------7-----------------01
E-----------------5-----------------111
B-----------------4-----------------110
D-----------------3-----------------001
F-----------------2-----------------000

EG:

某通信码中只会出现8中字符,其概率分别是0.05,0.29,0.07,0.08,0.14,0.23,0.03,0.11,若对其进行霍夫曼编码,其霍夫曼树的高度是?

计算字符概率:

b-----------------29
f-----------------23
e-----------------14
h-----------------11
d-----------------8
c-----------------7
a-----------------5
g-----------------3

霍夫曼树为:

技术分享图片

所以高度是4

霍夫曼编码

标签:霍夫曼树   编码表   post   分支   .com   期望   评估   使用   不同   

原文地址:https://www.cnblogs.com/Mr-Wenyan/p/8665457.html

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