哈夫曼编码

本文通过实例详细解析了哈夫曼编码的构造过程,以字符串'beep boop beer'为例,展示了从计算字符频率、构建哈夫曼树到最后生成编码的每一步。最终得出的哈夫曼编码为:0011 1110 1011 0001 0010 1010 1100 1111 1000 1001。

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

简单举例并描述哈夫曼编码的构造过程:
压缩下面的字符串“beep boop beer”
1、计算出每个字符出现的次数

‘b’ 3
‘e’ 4
‘p’ 2
’ ’ 2
‘o’ 2
‘r’ 1
‘!’ 1

2、按照字符出现的次数,由少至多对其进行排序,顺序(按照权值排序表)为

‘r’ ‘!’ ‘p’ ‘o’ ’ ’ ‘b’ ‘e’

3、开始构建哈夫曼树,我们始终权值顺序表中的头部元素进行二叉树的构造,并将其放回到原表中(第一个为左节点;第二个为右节点)
在这里插入图片描述
4、同样我们将前两个取出来形成一个带权路径值为2+2=4的结点,放回到原表中
在这里插入图片描述
5、继续算法可得到

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值