1 / 7
文档名称:

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

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

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

分享

预览

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

上传人:小雄 2020/9/6 文件大小:118 KB

下载得到文件列表

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

文档介绍

文档介绍:本科学生设计性实验报告软件工程技能实践I项目组长陈启 学号_0154225专 业软件工程班级15软件7班成 员陈启杨林昌邓志远万胜实验项目名称—指导教师及职称讲师,开课学期2015至2016学年第二学期实验设计方案实验名称:慕于哈夫曼编码实现文本文件的压缩和解压缩实验时间:2016-7-1—2016-7-7实验场地:H113成员角色:程序员:陈启杨林昌测试员:万胜邓志远文档员:杨林昌邓志远软件环境:WindowsXP>VC++、实验任务与目的(简单介绍实验内容,说明实验任务和目的)实验内容根据ascii码文件中各ascii字符出现的频率情况创建Haffman树,再将各字符对应的哈夫曼编码写入文件中,实现文件压缩。对于给定的一组字符,可以根据其权值进行哈夫曼编码,并能输出对应的哈夫曼树和哈夫曼编码;实现哈夫曼解码。能够分析文件,统计文件中出现的字符,再对文件进行编码,实现文件的压缩和解压缩,能够对于文件的压缩,比例进行统计,能够打印文件。分析与设计哈夫曼树的存储结构,实现哈夫曼算法以及编码与译码基本功能,并对任意文本文件利用哈夫曼编码进行压缩得到压缩文件,然后进行解压缩得到解压文件。。122掌握线性链表的插入、删除等算法。。。,掌握实现文件压缩的一般原理。2、实验思路(详细描述解决问题的整体思路、涉及的算法思想及数据结构等),:221输入要压缩的文件首先运行的时候,用户主界面上有菜单提示该如何使用软件,根据菜单提示选择所要执行的项,依次进行,因为各个坏节之间有先后顺序。第一步为输入压缩软件的名称,由键盘输入文件路径和文件名称,读入字符数组中,打开该文件,按照提示进行压缩。若打不开,则继续输入。;计算每个字符出现的次数,申请一个结构体数组空间,用读取的字符减去字符结束符作为下标记录字符的频率。223根据字符的频率,利用Huffman编码思想创建Huffman树将所记录的字符的频率作为权值来创建Huffman树,依次选择权值最小的两个字符作为左右孩子,其和作为父结点的权值,依次进行下去,貢到所有的字符结点都成为叶子结点。,进行文件的压缩根据创建的Huffman树来确定个字符的01编码,左孩子为0,右孩子为1。读取文件,依次将每个字符用他们的编码表示,即完成一次编码。,依据创建的Huffman树,定义一个指针指向根结点。从根结点开始,每读一个字符,指针变化一次(当读取的字符是时,指针指向当前所指结点的右孩子,当读取的字符是‘0’时,指针指向当前所指结点的左孩子),直至该指针所指结点为叶子结点时结束(即当结点的左右孩子均为空时)。将当前叶子结点所代表的字符值输出到译码文件中,依次读取编码文件中的字符,按照上述方法依次进行下去