- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
电 子 科 技 大 学
实 验 报 告
学生姓名: 郭小明 学 号:20
一、实验室名称: 主楼 A2-412
二、实验项目名称:
软件开发环境试验 Huffman 编码实验
三、实验原理:
分割函数的三项原则
分割函数的三项原则包括:与其写注释,不如写函数;重复就是罪恶;函数不要超过
50 行至 70 行。
关于分割函数三原则的具体含义,请见教材和课堂教学 PPT关于电话本的内容。这里
不再赘述。
Huffman 编码的基本原理
本实验要求使用 Huffman 编码算法,实现对文件的压缩和解压。 因此,我们首先介绍
huffman 的编码算法。
Huffman 编码是一种可变长编码方式,是由美国数学家 David Huffman 创立的,是二
叉树的一种特殊转化形式。编码的基本原理是:将使用次数多的代码转换成长度较短的编
码,而使用次数少的代码则可以使用较长的编码,并且保持编码的唯一可解性。
指导书试验原理部分较多,在这里就不做粘贴复制了。
四、实验目的:
本实验总体目的是,通过使用 huffman 编码算法从而实现文件的压缩和解压,以达到
使学生掌握并灵活运用分割函数的三项原则。
五、实验内容:
本实验要求实现一个 exe程序。这个程序按照 huffman 编码方式, 同时包含了压缩功能
和解压功能。用户通过以下命令进行压缩:
C:\ –c uncompress_filename compress_filename
上述命令中, 是程序名, -c 表示要进行压缩。 uncompress_filename是要压缩的文件名,
可以包含路径信息,而 compress_filename是压缩之后的文件名,同样可以包含路径信息。
用户可以通过如下命令进行解压:
C:\ –u compress_filename uncompress_filename
上述命令中, -u 表示要执行解压命令。 compress_filename是要解压的文件名,可以包
含路径信息; uncompress_filename就是解压后所得到的文件,同样可以包含路径信息。
提示:在实现程序时,需要考虑如何存储 huffman 树或者编码表或者词频表等等。
本实验要求实现两个版本的程序,一是 C 语言版本的,二是 C++ 版本的。 对这两个版
本的要求如下:
对于每一个版本的程序,需要在实验报告中给出函数调用关系图、流程处理关系
图以及它们的文字说明等内容;
对于每一个版本的程序,都需要在实验报告中给出源代码。为了便于查重,代码
中注释的比例要占到总行数的 20%;
C++ 版本的程序,需要给出类关系图。
实验报告的评分标准,包括以下几个方面:
实验报告是否规范
实验报告内容是否详实
实验报告中是否包含了函数调用图、流程图、类图以及它们的文字说明
实验报告中的代码注释是否达到要求
程序是否正确无误
程序是否严格按照分函数的原则编写
C++ 版本的程序类关系的耦合度如何
程序实现是否考虑了大文件情况
六、实验器材(设备、元器件):
PC 机, vs 2008软件平台。
七、实验数据及结果分析:
代码见附件。
huffmanForC
文件中函数列表如下:
#sum_bit##count#
*/
void freToFile(int code[],HCode *HC)
文档评论(0)