课题要求(实现文件的压缩与解压并计算压缩率) 1) 描述压缩基本符号的选择方法 2) 运行时压缩原文件的规模应不小于5K 3) 提供恢复文件与原文件相同性对比功能 4) 要求实现一个基于哈夫曼树的文件压缩程序和文件解压程序 5) 课程选作内容:显示压缩率,图形图形化窗口操作界面 A软件名称:基于哈夫曼编码的文件压缩实用程序系统 B软件组成:WinZip.exe C制作平台及相关调试工具: Windows Xp sp3 Microsoft Visual Studio 2005 D运行环境: wi
一 实验目的 1、掌握哈夫曼树的构造和应用 2、利用哈夫曼方法及其编/译码技术实现对传输信息编码/译码系统。 二、 需求分析 1.[问题描述](设计性实验) 利用哈夫曼编码进行通信可以大大提高信道利用率,缩短信息传输时,降低传输成本。但是,这要求在发送端通过一个编码系统对待传送电文须预先编码,在接收须将传送来的数据进行译码。请自行设计实现一个具有初始化、编码、译码、输入/输出等功能的哈夫曼码的编码/译码系统。并实现以下报文的编码和译码:“this program is my favorite”
cout<<"\t\t*************选择菜单***************"<<endl; cout<<"\t\t** I \\ i : 哈夫曼树的初始化 **"<<endl; cout<<"\t\t** **"<<endl; cout<<"\t\t** E \\ e : 将正文编码为哈弗曼码 **"<<endl; cout<<"\t\t** **"<<endl;
本程序对于哈弗曼树的构造需从txt文件中读取,且必须严格按照格式进行。 例:txt文档中数据如下“5 a 1 b 2 c 3 d 4 e 5 ” 其中,首先出现的应该是要编码字符个数,上例为‘5’,接着出现的就是字符与对应权值,并且所有字符、权值、以及字符个数均需要以一个空格隔开且不能添加任何其他字符,最后需要以空格结尾。