数据结构哈夫曼编码实验报告

上传人:新** 文档编号:508048520 上传时间:2023-06-12 格式:DOCX 页数:6 大小:183.12KB
返回 下载 相关 举报
数据结构哈夫曼编码实验报告_第1页
第1页 / 共6页
数据结构哈夫曼编码实验报告_第2页
第2页 / 共6页
数据结构哈夫曼编码实验报告_第3页
第3页 / 共6页
数据结构哈夫曼编码实验报告_第4页
第4页 / 共6页
数据结构哈夫曼编码实验报告_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《数据结构哈夫曼编码实验报告》由会员分享,可在线阅读,更多相关《数据结构哈夫曼编码实验报告(6页珍藏版)》请在金锄头文库上搜索。

1、实验报告实验课名称:数据结构实验实验名称:文件压缩问题班级:学号:姓名:时间:2015-6-9、问题描述哈夫曼编码是一种常用的数据压缩技术,对数据文件进行哈夫曼编码可大大缩短文件的传输长度,提高信道利用率及传输效率。要求采用哈夫曼编码原 理,统计文本文件中字符出现的词频, 以词频作为权值,对文件进行哈夫曼编码 以达到压缩文件的目的,再用哈夫曼编码进行译码解压缩。、数据结构设计首先定义一个结构体:struct headOD内容+编码序列计出子付的权值or(int i=0;i256;i+)箱文q内容=哈丹曼树的核心生成对应文件建立险夫曼根据哈夫曼树解headeri.count=0;二(unsign

2、ed char对二进制文件进ount+;ountheaderj+1.count)行解码tmp=headerj;headerj=headerj+1;headerj+1=tmp;for(i=0;i256;i+)if(headeri.count=0) break;leafnum=i;,sizeof(unsignedchar);ount=strlen(headeri.bits);ount,sizeof(unsignedchar);ount%8=0)bytelen=headeri.count/8;elsebytelen=headeri.count/8+1;strcat(headeri.bits,0000

3、000); its);(char *)&temp,sizeof(unsigned char);strcpy(headeri.bits,headeri.bits+8);cout该文件的哈夫曼的编码为:endl;for(i=0;iflength;i+)coutheaderi.bitsendl; /此循环结束后就完成了编码对照表的写入(3)解压文件输入一个待解压的压缩文件名称(可带路径)如 从文件中读出哈夫 曼树,并利用哈夫曼树将编码序列解码;生成(还原)文本文件。文件文件名称= 压缩文件名+”如while(1)while(readlen(clength-8)&strlen(buf)=256)/处理

4、缓冲区,直到少于256位,再读满它for(i=0;i=flength)break; /如果写入达到原文件长度,/whileif(readlen=(clength-8)/*编码长度 */|writelen=flength) break;/如果写入或者读入编码完毕,退出/退出此循环后,还有未解码完成的buf口/对buf口缓冲的善后处理while(whtelenflength)for(i=0;istrlen(buf);i+)strcpy1(buf1,buf,i+1);if(strcmp1(buf1,header,n,temp)=1)(char *)&temp,sizeof(unsigned char

5、);writelen+;strcpy(buf,buf+i+1);break;/for();/ 关闭文件();四、界面设计程序包含压缩功能,解压功能,输出功能,帮助,终止程序功能五、运行测试与分析(1)运行程序,显示提示,如图所示。图启动界面(2)编码操作。t 123.-记手/T件(D 届症G 精MOP营看曾 WttQD 1234M7BV图在D盘中建立一个文本文档,并命名为图文件压缩,输出哈弗曼编码界面p. 12,cod -I-*H片工)IEi杂式外答小口相4QE79p1图在D盘中生成一个.COD勺文档,并且名为(3)解码操作。根据实验要求输出实验结果。如图所示图 数据结果输出界面(4)显示数据内容若用户想知道文本输入的内容,可输入“ L”,然后界面提示输入文本文件的路径和文件名,完成输入后按回车键,界面会出现文本的内容六、实验收获与思考在完成实验的过程中,使我明白了面向对象与面向对象的差别。 在面向对象 过程中,类的设计是至关重要的,类设计好了等于程序就成功了一半, 所以这次 的课程帮助我复习了这一学期面向对象课程的学习, 刚好可以弥补这一学期面向 对象学习的不足。同时,也使我对数据结构与算法的知识有了一定的了解,帮我在大二学习数据结构与算法的课程中奠定了一定的基础,使我以后学习数据结构与算法的时候可以更加轻松。教师评分:教师签字:

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 营销创新

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号