课程设计题二:哈夫曼树及其应用

发一封内容为“AABECAB …… DEFF”(共长 20 字符,字符集为:A、B、C、D、E、F)的电报报文,实现哈夫曼编码完成报文压缩节省带宽占用。

设计要求:

1.统计报文中各字符出现频次,并为字符集建立哈夫曼树。

2.构造哈夫曼树要求同层叶子结点权值从左到右、从小到大。

3.每个字符进行哈夫曼编码,并求出字符集平均编码长度。

4.建立两个文本文件hufcode.txt和compress.txt,分别用于存放字符的哈夫曼编码表和报文压缩内容,hufcode.txt中的每一行存放格式为“字符+空格+哈夫曼编码,最后一行存放报文长度值;compress.txt存储内容为电报报文中各字符哈夫曼编码按位拼接得到的字节码序列,举例:A、B的哈夫曼编码分别为110和1111,报文“AAB”哈夫曼编码拼接得到的字节码为11011011、11000000,最后一个字节的冗余空间默认补0。

5.根据hufcode.txt指定的编码表读取compress.txt解压恢复报文原文,输出显示解码结果。

 

你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,目前超出我们的服务范围,暂时无法为您解答。

首次提问人员可免费体验一次有问必答服务。目前首次提问的问题服务范围为:编程语言、Java开发、python、数据库、前端开发 领域专业技术问题,为您提供问题的解决思路和指导。不提供源码代写、项目文档代写、论文代写、作业代写、安装包资源发送或安装、软件使用指导等服务。

我们后续会持续优化,扩大我们的服务范围,为您带来更好地服务。