霍夫曼编码的平均码长怎么求

比如说我知道了6个编码分别是01101100000100011平均码长是不是等于我6个编码的位数加起来然后除以6,就是17/6=2.83,是不是这样算的,希望知道的朋友说... 比如说我知道了6个编码 分别是01 10 11 000 0010 0011
平均码长是不是等于 我6个编码的位数加起来然后除以6 ,就是17/6=2.83,是不是这样算的,希望知道的朋友说一下,谢谢了
展开
水果山猕猴桃
高能答主

2019-06-11 · 经不住似水流年,逃不过此间年少
水果山猕猴桃
采纳数:519 获赞数:110489

向TA提问 私信TA
展开全部

霍夫曼编码是变长编码,思路:对概率大的编的码字短,概率小的编的码字长,这样一来所编的总码长就小,这样编码效率就高。

上面那样求是不对的,除非你这6个码字是等概率的,各占1/6。应该用对应的概率*其对应得码长,再求和。

扩展资料:

在计算机数据处理中,霍夫曼编码使用变长编码表对源符号(如文件中的一个字母)进行编码,其中变长编码表是通过一种评估来源符号出现机率的方法得到的,出现机率高的字母使用较短的编码,反之出现机率低的则使用较长的编码。

这便使编码之后的字符串的平均长度、期望值降低,从而达到无损压缩数据的目的。

例如,在英文中,e的出现机率最高,而z的出现概率则最低。当利用霍夫曼编码对一篇英文进行压缩时,e极有可能用一个比特来表示,而z则可能花去25个比特(不是26)。用普通的表示方法时,每个英文字母均占用一个字节,即8个比特。

二者相比,e使用了一般编码的1/8的长度,z则使用了3倍多。倘若能实现对于英文中各个字母出现概率的较准确的估算,就可以大幅度提高无损压缩的比例。

参考资料来源:百度百科-霍夫曼编码

城市秋天1
高粉答主

2019-08-08 · 日常,旅游,美食,情感经历,创业
城市秋天1
采纳数:94 获赞数:148217

向TA提问 私信TA
展开全部

设某信源产生有五种符号u1、u2、u3、u4和u5,对应概率P1=0.4,P2=0.1,P3=P4=0.2,P5=0.1。

首先,将符号按照概率由大到小排队,如图所示。编码时,从最小概率的两个符号开始,可选其中一个支路为0,另一支路为1。这里,我们选上支路为0,下支路为1。再将已编码的两支路的概率合并,并重新排队。多次重复使用上述方法直至合并概率归一时为止。

从图(a)和(b)可以看出,两者虽平均码长相等,但同一符号可以有不同的码长,即编码方法并不唯一,其原因是两支路概率合并后重新排队时,可能出现几个支路概率相等,造成排队方法不唯一。

一般,若将新合并后的支路排到等概率的最上支路,将有利于缩短码长方差,且编出的码更接近于等长码。这里图(a)的编码比(b)好。

扩展资料

发展历史

哈夫曼编码(Huffman Coding),又称霍夫曼编码。

1951年,哈夫曼和他在MIT信息论的同学需要选择是完成学期报告还是期末考试。导师Robert M. Fano给他们的学期报告的题目是,寻找最有效的二进制编码。

由于无法证明哪个已有编码是最有效的,哈夫曼放弃对已有编码的研究,转向新的探索,最终发现了基于有序频率二叉树编码的想法,并很快证明了这个方法是最有效的。

由于这个算法,学生终于青出于蓝,超过了他那曾经和信息论创立者香农共同研究过类似编码的导师。哈夫曼使用自底向上的方法构建二叉树,避免了次优算法Shannon-Fano编码的最大弊端──自顶向下构建树。

1952年,David A. Huffman在麻省理工攻读博士时发表了《一种构建极小多余编码的方法》(A Method for the Construction of Minimum-Redundancy Codes)一文,它一般就叫做Huffman编码。

参考资料来源:百度百科-哈夫曼编码

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友bbc8311
2011-01-07 · TA获得超过1417个赞
知道小有建树答主
回答量:248
采纳率:100%
帮助的人:375万
展开全部
显然不是这么除

你写出哈夫曼树是要依据码出现的概率
然后给各种码对应上这种编码
平均码长就是该码出现的概率乘以现在的码长的和
就拿你这个举例
01 10 11 000 0010 0011
设概率分别为
0.2 0.2 0.2 0.16 0.12 0.12
那么平均码长
0.2×2+0.2×2+0.2×2+0.16×3+0.12×4+0.12×4
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
feiqincheng
推荐于2017-09-03 · TA获得超过134个赞
知道答主
回答量:9
采纳率:0%
帮助的人:9.5万
展开全部
霍夫曼编码是变长编码,思路:对概率大的编的码字短,概率小的编的码字长,这样一来所编的总码长就小,这样编码效率就高。你上面那样求是不对的,除非你这6个码字是等概率的,各占1/6。应该用对应的概率*其对应得码长,再求和。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hunzhuowangzi
2011-01-07 · TA获得超过126个赞
知道答主
回答量:58
采纳率:25%
帮助的人:20.6万
展开全部
仔细查了一下书,平均码长=码长×码字出现的概率。
见《信息论与编码理论》(高教王育民版)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式