关于哈夫曼编码试题的计算
先设权w=(31,22,18,14,10,4,1),n=7,则m=13,按照哈夫曼算法可以构造一棵哈夫曼树如下:
100
40 60
22 18 31 29
14 15
10 5
4 1
末端结点为22,18,31,14,10,4,1,你自己把上面的加上线连成一棵二叉树就行,记得左分支标0,右分支标1(为了得出后面的哈夫曼编码HC)
然后需要列出HT初态表和HT终态表,如下:
HT初态表 HT终态表
weight parent lchild rchild weight parent lchild rchild
1 31 0 0 0 31 12 0 0
2 22 0 0 0 22 11 0 0
3 18 0 0 0 18 11 0 0
4 14 0 0 0 14 10 0 0
5 10 0 0 0 10 9 0 0
6 4 0 0 0 4 8 0 0
7 1 0 0 0 1 8 0 0
8 - 0 0 0 5 9 6 7
9 - 0 0 0 15 10 5 8
10 - 0 0 0 29 12 4 9
11 - 0 0 0 40 13 2 3
12 - 0 0 0 60 13 1 10
13 - 0 0 0 100 0 11 12
最后得出哈夫曼编码HC:
1——>10
2——>00
3——>01
4——>110
5——>1110
6——>11110
7——>11111
平均码字长度为(0.31+0.22+0.18)×2+0.14×3+0.1×4
+(0.04+0.01)×5=2.47
编码效率为[(1-0.01)×3+0.01×2]/2.47=1.21
解答完毕!
补充:对于其中的编码效率问题本人有点淡忘,我选择的是用
普通平均编码长度除上了哈夫曼平均编码长度得出,不知对否。
辛苦半天,望楼主能赐我分数,不胜感激!
注:提交后发现格式不太规整,对于哈夫曼树谁是谁的左孩子、右孩子比较容易分出(左右孩子结点相加可知父亲结点),对于HT初态表和HT终态表1列1列的看就行!其中数字第一列为序号,从第2列到第9列分别对应HT初态表的weight parent lchild rchild 和HT终态表的weight parent lchild rchild 。
求试题,17届NOIP(C语言)普及组初赛试题
目前,指纹识别、虹膜识别、人脸识别等技术已广泛应用于政府、银行、安全防卫等领域。以下不属于生物特征识别技术及其应用的是( )。 A. 指静脉验证 B. 步态验证 C. ATM机密码验证 D. 声音验证 15.现有一段文言文,要通过二进制哈夫曼编码进行压缩。简单起见,假设这段文言文只由4个汉字“之”、“乎”、“者...
哈夫曼树怎样构造编码?
详情请查看视频回答
数据结构笔试题
有一份电文 *** 使用五个字符 a b c d e 它们的出现频率依次为 请构造相应的哈夫曼树(左子树根结点的权小于等于右子树根结点的权) 求出每个字符的哈夫曼编码 有初始的无序序列为{ } 给出对其进行归并排序(升序)的每一趟的结果 五 设计题(每小题 分共分)...
考软件设计师怎么准备?
软件设计师视频教程免费在线观看 链接:https:\/\/pan.baidu.com\/s\/1t7XSQyLkqSXSbJP6T6MetQ 提取码:0f5r 软件设计师是指能根据软件开发项目管理和软件工程的要求,按照系统总体设计规格说明书进行软件设计,编写程序设计规格说明书等相应的文档的实用性人才。还能够组织和指导程序员编写、调试程序,并对...
几道多媒体技术与应用的选择题
题号:1 题型:单选题 内容:下述声音分类中质量最好的是 (A )。选项:a、数字激光唱盘 b、调频无线电广播 c、调幅无线电广播 d、电话 题号:2 题型:单选题 内容:在JPEG中使用了哪两种熵编码方法?(D)选项:a、统计编码和算术编码 b、PCM编码和DPCM编码 c、哈夫曼编码和自适应二进制算术编码 d...
noip2009初赛答案
0是00的前缀码,这部分是数据结构中哈夫曼编码处的知识。8、快速排序平均情况和最坏情况下的算法时间复杂度分别为:A)平均情况O(nlog(2,n)),最坏情况O(n^2)B)平均情况O(n),最坏情况O(n^2)C)平均情况O(n),最坏情况O(nlog(2,n))D)平均情况O(log(2,n)),最坏情况O(n^2)【分析】选择A 最好的...
计算机专业课复习大纲
2.哈夫曼(Huffman)树和哈夫曼编码 四、 图 (一) 图的概念 (二) 图的存储及基本操作 1. 邻接矩阵法 2. 邻接表法 (三) 图的遍历 1. 深度优先搜索 2. 广度优先搜索 (四) 图的基本应用及其复杂度分析 1. 最小(代价)生成树 2. 最短路径 3. 拓扑排序 4. 关键路径 五、 查找 (一) 查找的基本概念...
第17届信息学奥赛
B.在编写复杂程序时,相对于高级语言而言代码量大,且不易调试 C.可以直接访问寄存器、内存单元、I\/O端口 D.随着高级语言的诞生,如今已被完全淘汰,不再使用5.现有一段文言文,要通过二进制哈夫曼编码进行压缩。简单起见,假设这段文言文只由4个汉字“之”、“乎”、“者”、“也”组成,它们出现的次数分别为700、...
...电文中出现的次数分别为16 ,5 ,9,3,20,1,画哈夫曼树
哈夫曼树编码 在树中令所有左分支取编码为 0 ,令所有右分支取编码为1。将从根结点起到某个叶子结点路径上的各左、右分支的编码顺序排列,就得这个叶子结点所代表的字符的二进制编码 A10 B1111 C110 D11101 E0 F11100 向左转|向右转 来自:求助得到的回答 34 6 已赞过 已踩过< 你对这个回答的评价是? 评论...
H264系列九 热力学熵 信息熵 哈夫曼编码 哥伦布编码
3.指数哥伦布编码同哈夫曼编码的比较 指数哥伦布编码同前文中提到的哈夫曼编码都遵循了同一规律,即针对不同的码元分配了bit位长度不同的码字,因此各自都属于变长编码的一种。然而二者仍然具有较大的差别,具体如: 实际上,对于视频压缩这样的需求而言,类似于哈夫曼编码所提供的压缩比率的优势远远不够,而且像H.264等...
徐肾六味: 11111 平均码字长度为(0,14,1).18)*2+0太复杂了,4,我选择的是用 普通平均编码长度除上了哈夫曼平均编码长度得出,31,如下,14;00 3——>. 辛苦半天:提交后发现格式不太规整.47 编码效率为[(1-0;2,记得左分支标0.1*4 +(0,右...
长沙县15745089784: 哈夫曼编码码长怎么算 - ?
徐肾六味:[答案] 假设用于通信的电文由字符集{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个字母进行等长编码,则哈夫曼编...
长沙县15745089784: 已知信息为ABCDBCDCBDBACB,构造哈夫曼树已知信息为ABCDBCDCBDBACB1 请按此信息构造哈夫曼树;2 计算哈夫曼树的加权路径长度WPL3 求出... - ?
徐肾六味:[答案] 这2个都对,权值小的在左边在右边没关系,这个没限制,最后算出的带权路径长度最小就可以 33 / 21 12 /
长沙县15745089784: 一道数据结构题目:哈弗曼算法求解描述求解最优前缀码(平均码长最小)问题的哈夫曼(Huffman)算法的基本思想.并对以下实例,给出其哈夫曼编码及求... - ?
徐肾六味:[答案] 运行过了没有任何问题,有什么问题可以交流下. #include #include #define N 6 typedef struct { int W,P,R,L; }HTNode; typedef struct { char ch; char code[10]; }HTCode; HTCode HC[27]; void select(HTNode HT[],int *min1,int *min2,int *a,int *b) { int i;int ...
长沙县15745089784: 8种字符出现的概率为0.05,0.29,0.07,0.08,0.14,0.23,0.03,0.11,设计哈夫曼编码并计算出构造出的哈夫曼编码的带权路径长度WPL. - ?
徐肾六味:[答案] 哈夫曼树为:1 |-----0.42 |-----0.19 |-----0.08 |-----0.03|-----0.05|-----0.11|-----0.23|-----0.58 |-----0.29|-----0.29 |-----0.14|-----0.15 |-----0.07|-----0.08这八个字符的编码分别为:(0.05)的编码00...
长沙县15745089784: 数据结构题目,关于哈弗曼编码,用C语言来做(非常急的,谢谢了) - ?
徐肾六味: void HuffmanCoding(HuffmanTree &HT, HuffmanCode &HC, int *w, int n) { // w存放n个字符的权值(均>0),构造哈夫曼树HT, // 并求出n个字符的哈夫曼编码HC int i, j, m, s1,s2; char *cd; int p; int cdlen; if (n m = 2 * n - 1; HT = (HuffmanTree)...
长沙县15745089784: ...b,c,d,e,f,g,h,各字符出现的概率分别为0.03,0.28.0.06,0.070.14,0.24,0.08,0.10(1)画出哈夫曼树(2)给出每个字符的哈夫曼编码;(3)计算其带权路径长度... - ?
徐肾六味:[答案] a:0110; b:10; c:0111; d:1111; e:110; f:00; g:1110; h:010. WPL=2*0.24+3*0.1+4*0.03+4*0.06+4*0.07+4*0.08+3*0.14+2*0.28=2.72 注:树传不上来,你可以根据编码自己画,谢谢!
长沙县15745089784: 急求 多媒体技术中哈夫曼编码的码长和熵的计算公式,大学阶段的.不要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)
长沙县15745089784: 一道关于哈夫曼编码的题该怎么做? - ?
徐肾六味: 首先,亲请记住,无论是数学题政治题C语言,任何情况下都不可以选“以上都不是”.哈夫曼编码是非常经典的一种变长编码方案.我偷个懒,方法描述如下:首先,将符号按照概率由大到小排队.编码时,从最小概率的两个符号开始,可选...
长沙县15745089784: 如何计算二叉树中单词出现的次数以及哈夫曼编码 - ?
徐肾六味: 单词出现的次数是直接统计出来的,如果你已经获得哈夫曼二叉树了,其中的权值就是出现的次数,次数越多越上面,越小越下面.哈夫曼编码就是根据二叉树,左边子树默认为0,右边默认为1,最终得到各个单词的哈夫曼编码.