1 / 7
文档名称:

基于哈夫曼编码实现文本文件的压缩和解压缩实验报告模板.doc

格式:doc   大小:59KB   页数:7页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

基于哈夫曼编码实现文本文件的压缩和解压缩实验报告模板.doc

上传人:w447750 2017/10/21 文件大小:59 KB

下载得到文件列表

基于哈夫曼编码实现文本文件的压缩和解压缩实验报告模板.doc

文档介绍

文档介绍:本科学生设计性实验报告
软件工程技能实践Ⅰ
项目组长陈启学号_ 0154225
专业软件工程班级_15软件 7 班
成员陈启杨林昌邓志远万胜
实验项目名称_
指导教师及职称_ _讲师_ _
开课学期 2015 至 2016 学年第二学期
实验设计方案
实验名称:基于哈夫曼编码实现文本文件的压缩和解压缩
实验时间:2016-7-1—2016-7-7
实验场地:H113
成员角色:程序员:陈启杨林昌测试员:万胜邓志远文档员:杨林昌邓志远
软件环境:Windows XP、VC++
实验任务与目的(简单介绍实验内容,说明实验任务和目的)

根据ascii码文件中各ascii字符出现的频率情况创建Haffman树,再将各字符对应的哈夫曼编码写入文件中,实现文件压缩。对于给定的一组字符,可以根据其权值进行哈夫曼编码,并能输出对应的哈夫曼树和哈夫曼编码;实现哈夫曼解码。能够分析文件,统计文件中出现的字符,再对文件进行编码,实现文件的压缩和解压缩,能够对于文件的压缩,比例进行统计,能够打印文件。分析与设计哈夫曼树的存储结构,实现哈夫曼算法以及编码与译码基本功能,并对任意文本文件利用哈夫曼编码进行压缩得到压缩文件,然后进行解压缩得到解压文件。


、删除等算法。

。 
,掌握实现文件压缩的一般原理。
实验思路(详细描述解决问题的整体思路、涉及的算法思想及数据结构等)

生成对应文件
生成哈夫曼树
根据哈夫曼树编码
对编码进行压缩
生成二进制文件
统计字符,得出统计出字符的权值n
建立哈夫曼树
对二进制文件进行解码
根据哈夫曼树解码
:

首先运行的时候,用户主界面上有菜单提示该如何使用软件,根据菜单提示选择所要执行的项,依次进行,因为各个环节之间有先后顺序。第一步为输入压缩软件的名称,由键盘输入文件路径和文件名称,读入字符数组中,打开该文件,按照提示进行压缩。若打不开,则继续输入。

文件将信息存放在字符数组中;计算每个字符出现的次数,申请一个结构体数组空间, 用读取的字符减去字符结束符作为下标记录字符的频率。
,利用Huffman编码思想创建Huffman树
将所记录的字符的频率作为权值来创建Huffman树,依次选择权值最小的两个字符作为左右孩子,其和作为父结点的权值,依次进行下去,直到所有的字符结点都成为叶子结点。
,进行文件的压缩
根据创建的Huffman树来确定个字符的01编码,左孩子为0,右孩子为1。读取文件,依次将每个字符用他们的编码表示,即完成一次编码。

读取编码文件,依据创建的Huffman树,定义一个指针指向根结点。从根结点开始,每读一个字符,指针变化一次(当读取的字符是‘1’时,指针指向当前所指结点的右