数据结构应用设计设计报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据结构应用设计设计报告

题目名称:___基于哈夫曼编码的文件压缩器_

设计环境:____ __VC6.0 ____________

指导教师:_____ _蔡茂蓉______________

专业班级:______软件工程0601班__ ___

姓名:__ _ __杨文辉_____________

学号:___ ____ _____

联系电话:_ _

电子邮件:

设计日期:年月日至年月日

设计报告日期:年月日

1 .题目................................................................................................... 错误!未定义书签。

2 .需求分析........................................................................................... 错误!未定义书签。

2.1文件压缩过程:......................................................................... 错误!未定义书签。

2.2文件解压过程:......................................................................... 错误!未定义书签。

2.3压缩文件的存储结构设计图:................................................. 错误!未定义书签。

2.4HAF文件示例:...................................................................... 错误!未定义书签。

3 .详细设计........................................................................................... 错误!未定义书签。

3.1压缩流程图:............................................................................. 错误!未定义书签。

3.2解压流程图:............................................................................. 错误!未定义书签。

3.3节点类设计:............................................................................. 错误!未定义书签。

3.4编码和译码时的控制结构的实现............................................. 错误!未定义书签。

4.调试分析........................................................................................... 错误!未定义书签。

6 .测试结果........................................................................................... 错误!未定义书签。

6.1文件压缩..................................................................................... 错误!未定义书签。

6.2文件解压..................................................................................... 错误!未定义书签。

7.实验总结........................................................................................... 错误!未定义书签。

8 .参考文献........................................................................................... 错误!未定义书签。

1 .题目

基于哈夫曼编码的文件压缩器

2 .需求分析

哈夫曼编码在文件压缩中有其独特一点,它的编码方式特殊。在通信领域可以得到应用。本程序使用C++编写,在VC6.0上调试,完成了文件的读取,文件字符的统计,哈夫曼树的建立,哈夫曼编码的实现,文件转换为哈夫曼编码成为压缩文件以及文件从压缩状态进行解码。

2.1文件压缩过程:

1、找出一个待压缩文件,进行读取,并且统计其每种字节出现的频率。

2、根据已经统计的频率,进行哈夫曼树的构建。

3、对已经构建的哈夫曼树进行哈夫曼编码,将这个文件读入到一个新的文件中

4、再次读取文件并且对每一个字符编码,并继续读入到这个新的文件中,这个新的文

件就是压缩后的文件

5、压缩时函数调用关系为,使用类CHaffmanCode,所有的程度操作函数集中在该类

中。

float CHaffmanCode::OpenandCloseFile(char *OpenFile,char *CloseFile)

{//这个函数压缩函数,把所有要用的操作函数都集中在该函数中。

……

CreateHaffmanTree(hArray); //使用得到的权值构建哈夫曼树,这里用矩阵实现

EnHaffmanCode(hArray,codes);//对已经构建好的哈夫曼树的每个叶结点进行编

fCompre = ChangtoCode(OpenFile,CloseFile);//把所有的内容都按照编码存入一

个新文件,返回文件压缩率

return fCompre;//这是返回文件压缩率

相关文档
最新文档