哈夫曼编码码长怎么算

作者&投稿:姬玲 (若有异议请与网页底部的电邮联系)
霍夫曼编码的平均码长怎么求~

霍夫曼编码是变长编码,思路:对概率大的编的码字短,概率小的编的码字长,这样一来所编的总码长就小,这样编码效率就高。
上面那样求是不对的,除非你这6个码字是等概率的,各占1/6。应该用对应的概率*其对应得码长,再求和。

扩展资料:在计算机数据处理中,霍夫曼编码使用变长编码表对源符号(如文件中的一个字母)进行编码,其中变长编码表是通过一种评估来源符号出现机率的方法得到的,出现机率高的字母使用较短的编码,反之出现机率低的则使用较长的编码。
这便使编码之后的字符串的平均长度、期望值降低,从而达到无损压缩数据的目的。
例如,在英文中,e的出现机率最高,而z的出现概率则最低。当利用霍夫曼编码对一篇英文进行压缩时,e极有可能用一个比特来表示,而z则可能花去25个比特(不是26)。用普通的表示方法时,每个英文字母均占用一个字节,即8个比特。
二者相比,e使用了一般编码的1/8的长度,z则使用了3倍多。倘若能实现对于英文中各个字母出现概率的较准确的估算,就可以大幅度提高无损压缩的比例。
参考资料来源:百度百科-霍夫曼编码

等长码就是所有指令的代码长度相等,有10条指令就需要4位2进制数来表示,从0000到1001。



举例:
已知字母A、B、C、D、E、F出现的次数分别是8 12 5 20 4 11
先进行哈夫曼编码,步骤如下
a)构造哈夫曼树
60
/ \
23 37
/ \ / \
F(11) B(12) 17 D(20)
/ \
A(8) 9
/ \
E(4) C(5)
b)哈夫曼编码,左子树默认为0,右子树默认为1,得到的编码如下
A:100 B:01 C:1011 D:11 E:1010 F:00
编码的码长是:
8*3 + 12 * 2 + 5*4 + 20 * 2 + 4*4 + 11 * 2 = 146


赫夫曼编码的平均码长是多少?
平均码长=(4*0.09+3*0.15+4*0.04+4*0.07+2*0.28+4*0.08+2*0.21+3*0.18)\/1.1=2.81。假设有n个权值,则构造出的哈夫曼树有n个叶子结点。n个权值分别设为 w1、w2、wn,则哈夫曼树的构造规则为:(1) 将w1、w2、wn看成是有n 棵树的森林(每棵树仅有一个结点);(2) 在...

哈夫曼编码码长怎么算?
哈夫曼编码 根据上面可得编码表: a:1001 b:01 c:10111 d:1010 e:11 f:10110 g:00 h:1000 用三位二进行数进行的等长编码平均长度为3,而根据哈夫曼树编码的平均码长为:4*0.07+2*0.19+5*0.02+4*0.06+2*0.32+5*0.03+2*0.21+4*0.10=2.61 2.61\/3=0.87=...

哈夫曼编码码长怎么算?
哈夫曼编码 根据上面可得编码表: a:1001 b:01 c:10111 d:1010 e:11 f:10110 g:00 h:1000 用三位二进行数进行的等长编码平均长度为3,而根据哈夫曼树编码的平均码长为: 4*0.07+2*0.19+5*0.02+4*0.06+2*0.32+5*0.03+2*0.21+4*0.10=2.61 2.61\/3=0.87...

赫夫曼编码是怎样计算平均码长的?
哈夫曼编码进行压缩的压缩率是根据平均码长来计算的,压缩率比较低。例如:用三位二进行数进行的等长编dao码平均长度为3,而根据哈夫曼树编码的平均码长为:4*0.07+2*0.19+5*0.02+4*0.06+2*0.32+5*0.03+2*0.21+4*0.10=2.61 2.61\/3=0.87=87 其平均码长是等长码的87%,所以...

急求 多媒体技术中哈夫曼编码的码长和熵的计算公式,大学阶段的。不要C...
码长=(所有种类字符累加(字符出现的次数*该字符哈夫曼编码是的长度))\/所有字符的个数 例:字符串aabbb a编码为10011 ---5位 b编码为010011 ---6位 码长=(2*5+3*6)\/5 (分母5代表aabbb的长度为5)2:信息熵:信息熵Eta=累加(Pi*log2(1\/Pi))(i从1累加到n,Pi表示...

哈夫曼编码码长怎么算
设某信源产生有五种符号u1、u2、u3、u4和u5,对应概率P1=0.4,P2=0.1,P3=P4=0.2,P5=0.1。霍夫曼编码是变长编码,思路:对概率大的编的码字短,概率小的编的码字长,这样一来所编的总码长就小,这样编码效率就高。上面那样求是不对的,除非你这6个码字是等概率的,各占1\/6。应该用...

哈夫曼编码码长怎么算
详情请查看视频回答

如何用哈夫曼树算字符编码长度?
根据哈夫曼编码左分支表示字符'0',右分支表示字符'1'的规则,在哈夫曼树上求叶子结点的编码。编码长度<=4,则哈夫曼树的高度是5。又已知两个字符编码是0和10,说明第2层和第3层各有一个子结点,如果还想对最多个字符进行编码,那么第3~5层要达到结点的最大数目,如图 最多4个 ...

哈夫曼编码、3\/3\/3扩展编码,并计算这2种编码的平均码长
回答:由表可知,三种编码的平均码长为:(公式:L=∑Pi*Li 哈弗曼编码:2.42位 3\/3\/3编码:2.52位 2\/7编码:2.70位

哈夫曼编码中码长的方差对实际编码系统有什么影响
哈夫曼编码,左子树默认为0,右子树默认为1,得到的编码如下:A:100 B:01 C:1011 D:11 E:1010 F:00 编码的码长是:8*3 + 12 * 2 + 5*4 + 20 * 2 + 4*4 + 11 * 2 = 146 频率是W=,可以根据这个算出每个符号的使用概率。Huffman编码的基本思想就是:对于使用频率比较高的...

带岭区15239596746: 哈夫曼编码码长怎么算 -
文琰清热:[答案] 假设用于通信的电文由字符集{a,b,c,d,e,f,g,h}中的字母构成,这8个字母在电文中出现的概率分别为{0.07,0.19,0.02,0.06,0.32,0.03,0.21,0.10}.(1)为这8个字母设计哈夫曼编码.(2)若用这三位二进制数(0…7)对这8个字母进行等长编码,则哈夫曼编...

带岭区15239596746: 急求 多媒体技术中哈夫曼编码的码长和熵的计算公式,大学阶段的.不要C里面的,就是要两个公式. 谢谢了 -
文琰清热: 展开全部1:码长是否是平均码长?如果是,码长=(所有种类字符累加(字符出现的次数*该字符哈夫曼编码是的长度))/所有字符的个数 例:字符串aabbb a编码为10011 -----5位 b编码为010011 -------6位 码长=(2*5+3*6)/5 (分母5代表aabbb的长度为5)2:信息熵:信息熵Eta=累加(Pi*log2(1/Pi))(i从1累加到n,Pi表示对应第i个字符在字符串中出现的概率,如字符“a”在长度为1000的字符串中出现6次,为第一个字符,则P1=6/1000)

带岭区15239596746: 哈夫曼编码题.等码长到底是什么东西?怎么求?5.1.设某机器有10条指令,使用频率分别为:0.01 0.15 0.12 0.07 0.08 0.13 0.15 0.03 0.17 0.09 .求:1)等长... -
文琰清热:[答案] 等长码就是所有指令的代码长度相等,有10条指令就需要4位2进制数来表示,从0000到1001.

带岭区15239596746: 哈夫曼编码算法 -
文琰清热: 因为其中一个不能是另一个的前缀 所以只能是1111、1110、1101、1100

带岭区15239596746: 什么是哈弗曼编码的平均码长
文琰清热: 某字符串由b、d、a、c、e这5个码元符号组成,它们的概率分别是0.35、0.25、0.20、0.15、0.05.请进行Huffman编码,计算平均码长.该字符串中间有几个字符是b c c d a e,将之编码成二进制串.怎么做?

带岭区15239596746: 电文{A,B,C,D,E,F},出栈概率是0.19,0.0.,0.15,0.22,0.1,0.3造哈夫曼树,给出每个哈夫曼编,算编码平均码长 -
文琰清热:[答案] 题目中第二个数字为0.0. 应该是输错了,先舍去,只说一下该题目的答题方法,首先从上述概率序列中选取两个最小的值,... 其哈夫曼编码: a:011 b:10 c:00 d:010 e:11. 平均码长,上面是a 是 3位,乘上相关概率得到一个值,所有编码都这样算,然...

带岭区15239596746: 哈夫曼树怎样构造编码? -
文琰清热: 先编造哈夫曼树,哈夫曼树构造规则: 假设有n个权值,则构造出的哈夫曼树有n个叶子结点. n个权值分别设为 w1、w2、…、wn,则哈夫曼树的构造规则为: (1) 将w1、w2、…,wn看成是有n 棵树的森林(每棵树仅有一个结点); (2) ...

带岭区15239596746: 对字符串bcbabbbcab直接进行Huffman编码,将之编码成二进制串,并计算平均码长 -
文琰清热: 1、点击左下角开始菜单按钮. 2、在开始菜单下方搜索框中搜索cmd. 3、敲下回车键,打开cmd窗口. 4、输入mysql -u root -p命令,然后回车. 5、提示输入密码,输入正确的密码,进入mysql命令行. 6、SELECT TO_BASE64('abc'), FROM_BASE64(TO_BASE64('abc'));.

带岭区15239596746: 利用哈夫曼编码进行压缩压缩率一般达到多少? -
文琰清热: 哈夫曼编码压缩率很低的举个例子:用三位二进行数进行的等长编码平均长度为3,而根据哈夫曼树编码的平均码长为: 4*0.07+2*0.19+5*0.02+4*0.06+2*0.32+5*0.03+2*0.21+4*0.10=2.61 2.61/3=0.87=87% 其平均码长是等长码的87%. 所以平均压缩率为13%.所以应该是你算法有问题……

带岭区15239596746: 知道 权值 ,如何求哈夫曼树的编码长度,带权路径长度??? -
文琰清热: 8 :0 0 6 :0 1 3 :1 0 0 2 :1 0 1 5 :1 1 WPL=6 * 2 + 8 * 2+ 5 * 2 + 3 * 3 + 2 * 3 = 12 + 16 + 10 + 9 + 6 = 53

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网