哈夫曼编码和译码怎么算?哈夫曼编码和二进制编码优缺点比较?

6天前 (08-20 05:31)阅读1回复0
wsygfsj
wsygfsj
  • 管理员
  • 注册排名5
  • 经验值390275
  • 级别管理员
  • 主题78055
  • 回复0
楼主
  1. 哈夫曼编码和译码怎么算?
  2. 哈夫曼编码和二进制编码优缺点比较?
  3. 哈夫曼总码数和哈夫曼总编码长度?

哈夫曼编码和译码怎么算?

哈夫曼编码和译码是一种常用的数据压缩算法。编码过程首先进行字符频率统计,然后构建哈夫曼树,依据字符频率构建编码表。

哈夫曼编码和译码怎么算?哈夫曼编码和二进制编码优缺点比较?

编码表中给出了不同字符对应的二进制编码,频率越高的字符的编码越短,从而实现对原数据的压缩。

哈夫曼编码和二进制编码优缺点比较?

依据字符出现频率构建的带权重二叉树确定每个字符编码的。首先我们统计“alibaba”各个字符出现频率:a-3,b-2,l-1,i-1。由出现的频率我们有以下哈夫曼二叉树:对应每个字符编码为:所以最终“alibaba”整个字符串的编码为0 100 101 11 0 11 0。也就是说该字符串二进制哈夫曼编码位数为13位。

哈夫曼总码数和哈夫曼总编码长度?

先统计一下每个字母的出现的次数 t:2 h:1 i: 4 s:3 _:4 a:2 n:2 d:1 e:1 l:1 r:1 g:

1 然后构造哈夫曼树 23 / \ 15 8 / \ / \ 7 8 i4 _4 / \ / \ s3 4 4 4 / \ / \ / \ 2 2 2 t2 a2 n2 / \ / \ / \ h1 d1 e1 l1 r1 g1 所以对应的所有叶子结点的路径长度 * 出现次数 之和便是总编码长度 WPL = 3 * 3 + 5* (1+1+1+1+1+1) + 4*(2+2+2) + 2*(4 + 4) = 79

0
回帖

哈夫曼编码和译码怎么算?哈夫曼编码和二进制编码优缺点比较? 期待您的回复!

取消