数据结构实验:哈夫曼编码

  1. 实验目的及要求

·奥斯汀的作品《傲慢与偏见》可以在https://www.gutenberg.org/cache/epub/1342/pg1342.tx获得,下载这个文本文档以后,要求编程实现以下功能:

  1. 统计每个字符出现的频率

  2. 根据每个字符出现频率进行哈夫曼编码

  3. 对文本文件进行编码并输出编码后的文件,并输出编码文件大小,计算编码后的压缩比

  4. 对该编码文件进行解码,并输出第四章的内

2.实验步骤

统计每个字符出现的频率

根据每个字符出现频率进行哈夫曼编码

对文本文件进行编码并输出编码后的文件,并输出编码文件大小,计算编码后的压缩比

对该编码文件进行解码,并输出第四章的内容

3. 实验内容

4.实验结果

5.实验总结分析

  1. 2.
    1. 优点:保证概率大的符号对应于短码,概率小的符号对应于长码而且所有的短码得到充分利用;且每次缩减信源的最后两个码字总是最后一位不同,前面各位相同,这两个特点保证了哈夫曼编码一定是最佳的。虽然哈夫曼编码构造出来的码不唯一,但是其平均码长是相等的,所以不影响编码效率和数据压缩性能。
    2. 缺点:如果对单个字母进行编码,平均码字长可能还与理论上的最优编码率还有一定差距,哈夫曼编码算法是从上而下构造树。当信源符号集很大时,这种方法不方便;从硬件实现上来看,它有变长码固有的缺点:需要有缓冲存储器;从信道传输上来看,对应的长码一旦产生误码,某个码字的前缀部分可能成为另一个码字而发生误差,并导致错误后传
  • 11
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值