【数据结构】考点一:哈夫曼树和哈夫曼编码

本文针对学习时间有限的考生,介绍了如何在短时间内利用哈夫曼编码提高解题效率,包括构建哈夫曼树的方法步骤,以及两个实际考察形式中的示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【考试临时抱佛脚】系列文章针对于<学习时间少>、<时间紧迫>、<想短时间提升成绩>的考生打造。无论你是<自考>、<专升本>还是<考研>这个专栏都适合你,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】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

超越超

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值