10. 计算WPL

本文介绍了Huffman编码在通信系统中的应用,重点在于如何计算编码后的带权路径长度(WPL)。通过示例展示了计算过程,包括多个测试用例,如输入不同的符号频率,输出相应的WPL值。解析中提到了如何模拟合并过程来求得WPL,特别指出当只有一个符号时,WPL为0。
摘要由CSDN通过智能技术生成

Huffman编码是通信系统中常用的一种不等长编码,它的特点是:能够使编码之后的电文长度最短。
输入:
第一行为要编码的符号数量n
第二行~第n+1行为每个符号出现的频率
输出:
对应哈夫曼树的带权路径长度WPL

测试用例1:
输入:
5
7
5
2
4
9
输出:
WPL=60

测试用例2:
输入:
5
2
4
2
3
3
输出:
WPL=32

测试用例3:
输入:
1
15
输出:
0

解析:这道题与上个学期程设开的一道题《郭老师家的果园》有点类似,以7,5,2,4,9为例,首先找到第一小和第二小2,4并第一次合并7,5,6,9,耗费体力6,第二次找到第一小和第二小5,6合并:7,11,9,第二次消耗体力为11,累计消耗体力为17,再次找到第一小和第二小7,9,合并:16,11,消耗体力16,累计消耗33,最后一次找到第一小和第二小11,16合并为27,消耗27,累计消耗60.基本就是模拟一下这个过程就好。注意只有一个数时是不用合并的,所以消耗为0.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值