【考试临时抱佛脚】系列文章针对于<学习时间少>、<时间紧迫>、<想短时间提升成绩>的考生打造。无论你是<自考>、<专升本>还是<考研>这个专栏都适合你,Let’s go!
一、方法
解题步骤:
第一步:从【频次集合】中选最小的两个数【合并】,习惯是【从左往右,从下向上】画出哈夫曼树。
第二步:在各结点上标记上电文字符:e1、e2、e3…
第三步:得到哈夫曼树后,在各结点的连线上标注,左线为0,右线为1
第四步:从根结点向e1、e2、e3等结点开始数0或1编码,最终得出哈夫曼编码。
二、考察形式1
1、问题:
问:设电文字符集是 {e1, e2, e3, e4, e5, e6},各字符出现的频次分别为{ 20, 21, 1, 15, 22, 3 }。
现要为该字符集设计哈夫曼编码。请回答下列问题。
(1) 给出构造的哈夫曼树。
(2) 给出各字符的哈夫曼编码。
2、解析&回答:
(1)哈夫曼树
(2)哈夫曼编码:
【e1:01】
【e2:10】
【e3:0000】
【e4:001】
【e5:11】
【e6:0001】
三、考察形式2
1、问题
问:已知字符集 { a, b, c, d, e } 中各字符出现的频次分别为:{ 2, 3, 6, 8, 10 },对字符集进行哈夫曼编码,
字符 a 的编码是 000, 字符编码是 11 ,则其余 3 个字符的编码分别是什么?
2、解析&回答
(1)哈夫曼树
(2)哈夫曼编码:
【a:000】【b:001】【c:01】【d:10】【e:11】