根据字符出现的频率构造哈夫曼编码

:要传输的字符集D={C,A,S,T,;},字符出现频率分别为w={2,4,2,3,3},写出其哈夫曼编码。

方法:

第一步:将每个字符的频率作为权值,构造哈夫曼树;

 

第二步:将哈夫曼树每个结点的左分支标为0,右分支标为1;

 

第三步:把从根到每个叶子的路径上的标号连接起来,作为该叶子代表的字符的编码。

 

 

 

 

 

 两个问题帮助你理解哈夫曼编码

1.为什么哈夫曼编码能够保证时前缀编码?

因为没有一片树叶是另一片树叶的祖先,所以每个叶子结点的编码就不可能是其他叶子结点编码的前缀。

2.为什么哈夫曼编码能够保证字符编码总长最短?

因为哈夫曼树的带权路径长度最短,故字符编码的总长最短。


http://www.niftyadmin.cn/n/1616930.html

相关文章

一年搞死HP通关攻略

假设给你一年时间搞死HP,如果照以下步骤来,你可以的!以涉嫌性骚扰、费用报销不规范为导火索,炒掉能力卓著的CEO Mark Hurd。然后改选董事会,迫使4名董事会成员辞职。煽动大批具有丰富经验的高级经理们离开。 从德国软件…

【离散选择题题押题】太原理工大学2021级软件工程离散结构R期末考试

1.请判断下列公式哪一个为闭式()(2分) A. B. C. D. 答案:C 要点:只要找出没有自由变元的公式即可,难度极小 以上选项是我编写出来的,大概率不会考出相同的,只是提醒…

我和僵尸有个约会·僵尸游戏精选

周 一上班很不给力有木有?觉得精神萎靡昏昏欲睡有木有?需要来点东西刺激一下有木有?请注意,一大波僵尸正在逼近!!!僵尸,这个小说、电影中长盛不衰的角 色,如今在各种游戏里也风光无限。为了给大家提提神&am…

Google+不是社交网络,而是一项身份服务

Google不只是搜索巨头用来对付Facebook的招式,更主要是一个可以用来帮助建立其他服务的“身份服务”。这个其实是根据Google的董事长施密特关于为什么要求用户使用真实名字的解释。正如Fred Wilson指出的那样,施密特的表述涉及的问题是:Googl…

educoder答案-JavaScript语言基础知识训练合集

目录 JS函数 JS分支与循环 JS条件语句 JS循环语句 JS运算符 JS函数 B A D C C JS分支与循环 D B D C B JS条件语句 if-else类型 function mainJs(a) {a parseInt(a);//请在此处编写代码/********** Begin **********/if(a<60) return "unpass";else r…

Buildings:把全世界的建筑物装进口袋

我们已经接触过不少基于LBS的服务&#xff0c;基本上都是吃喝玩乐为主&#xff0c;不过&#xff0c;也有一些开发者希望能通过更为专业化和细分化的服务来满足不同用户的个性化需求&#xff0c;做到寓教于乐。Buildings就是这样一款应用&#xff0c;旨在为游客和建筑爱好者提供…

educoder答案-JavaScript对象编程合集

目录 JavaScript对象&#xff1a;Math、日期 JavaScript对象&#xff1a;字符串 JavaScript对象&#xff1a;数组 JavaScript对象&#xff1a;Math、日期 Math类 function mainJs(a) {a parseInt(a);//请在此处编写代码/********** Begin **********/var b Math.ceil(a)…