数据结构实验报告
―― 实验五
简单哈夫曼编/译码的设计与实现 本实验的目的是通过对简单哈夫曼编/译码系统的设计与实现来熟练掌握树型结构在实际问题中的应用。此实验可以作为综合实验,阶段性实验时可以选择其中的几个功能来设计和实现。
一、【问题描述】
利用哈夫曼编码进行通信可以大大提高信道利用率,缩短信息传输时间,降低传输成本。但是,这要求在发送端通过一个编码系统对待传数据预先编码,在接收端将传来的数据进行译码,此实验即设计这样的一个简单编/码系统。系统应该具有如下的几个功能:
1、接收原始数据。
从终端读入字符集大小 n,以及 n 个字符和 n 个权值,建立哈夫曼树,并将它存于文件 nodedata.dat 中。
2、编码。
利用已建好的哈夫曼树(如不在内存,则从文件 nodedata.dat 中读入),对文件中的正文进行编码,然后将结果存入文件 code.dat 中。
3、译码。利用已建好的哈夫曼树将文件 code.dat 中的代码进行译码,结果存入文件 textfile.dat 中。
4、打印编码规则。
即字符与编码的一一对应关系。
二、【数据结构设计】
1、构造哈夫曼树时使用静态链表作为哈夫曼树的存储。
在构造哈夫曼树时,设计一个结构体数组 HuffNode 保存哈夫曼树中各结点的信息,根据二叉树的性质可知,具有 n 个叶子...
== 试读已结束,如需继续阅读敬请充值会员 ==
|
本站文章均为原创投稿,仅供下载参考,付费用户可查看完整且有格式内容!
(费用标准:38元/月,98元/年,微信支付秒开通!) |
升级为会员即可查阅全文 。如需要查阅全文,请 免费注册 或 登录会员 |