数据结构实验报告(c语言)哈夫曼实验

数据结构实验报告(c语言)哈夫曼实验

ID:11926799

大小:289.00 KB

页数:12页

时间:2018-07-14

数据结构实验报告(c语言)哈夫曼实验_第1页
数据结构实验报告(c语言)哈夫曼实验_第2页
数据结构实验报告(c语言)哈夫曼实验_第3页
数据结构实验报告(c语言)哈夫曼实验_第4页
数据结构实验报告(c语言)哈夫曼实验_第5页
资源描述:

《数据结构实验报告(c语言)哈夫曼实验》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、暨南大学本科实验报告专用纸课程名称数据结构成绩评定实验项目名称哈夫曼编/译码器指导教师孙世良实验项目编号5实验项目类型实验地点学生姓名谢显栩学号2009051718学院电气信息学院系专业软件工程实验时间2010年11月20日中午~11月20日下午(一)实验目的通过实验,理解且熟悉树型数据结构的应用与相关具体程序操作(二)实验内容和要求[问题描述]利用哈夫曼编码进行通信可以大大提高信道利用率,缩短信息传输时间,降低传输成本。但是,这要求在发送端通过一个编码系统对待传数据预先编码,在接收端将传来的数据进

2、行译码(复原)。对于双工信道(即可以双向传输信息的信道),每端都需要一个完整的编/译码系统。试为这样的信息收发站写一个哈夫曼码的编/译码系统。[基本要求]一个完整的系统应具有以下功能:(1)I:初始化(Initialization)。从终端读入字符集大小n,以及n个字符和n个权值,建立哈夫曼树,并将它存于文件hfmTree中。(2)E:编码(Encoding)。利用已建好的哈夫曼树(如不在内存,则从文件hfmTree中读入),对文件ToBeTran中的正文进行编码,然后将结果存入文件CodeFile

3、中。(3)D:译码(Decoding)。利用已建好的哈夫曼树将文件CodeFile中的代码进行译码,结果存入文件TextFile中。(4)P:印代码文件(Print)。将文件CodeFile以紧凑格式显示在终端上,每行50个代码。同时将此字符形式的编码文件写入文件CodePrin中。(5)T:印哈夫曼树(Treeprinting)。将已在内存中的哈夫曼树以直观的方式(树或凹入表形式)显示在终端上,同时将此字符形式的哈夫曼树写入文件TreePrint中。12[测试数据](1)利用下面这道题中的数据调试

4、程序。某系统在通信联络中只可能出现八种字符,其概率分别为0.25,0.29,0.07,0.08,0.14,0.23,0.03,0.11,试设计哈夫曼编码。(2)用下表给出的字符集和频度的实际统计数据建立哈夫曼树,并实现以下报文的编码和译码:“THISPROGRAMISMYFAVORITE”。字符空格 A B C D E F G H I J K L M频度186 64 13 22 32103 21 15 47 57 1 5 32 20字符 N  O P Q R S T U V W X Y Z频度 57

5、 63 15 1 48 51 80 23 8 18 1 16 1(一)主要仪器设备仪器:计算机实验环境:Windows7+win-TC(二)源程序#include#include#include#includeintn;structnode{intw;intflag;charc;structnode*plink,*llink,*rlink;charcode[50];}*num[100],*root;FILE*fp;chart

6、mpcode[50];intt=0;voidmain(void){inti;voidsettree(void);voidcode(void);voiddecode(void);12voiddisp(void);root=(structnode*)malloc(sizeof(structnode));while(1){start:puts("1.Initialization""""2.Encoding""""3.Decoding""""4.Print""""5.Treeprinting

7、");while(scanf("%d",&i)!=1){while(getchar()!='')continue;puts("inputerror");puts("pleaserepeatagain");puts("1.Initialization""""2.Encoding""""3.Decoding""""4.Print""""5.Treeprinting");}switch(i){case1:settree();break;case2:code();break;case3:

8、decode();break;case4:disp();break;case5:exit(0);default:puts("inputerror");puts("pleaserepeatagain");gotostart;}}getch();}voidsettree(void){inti,j,k;structnode*p1,*p2,*tmp,*p;voidgo(structnode*);12voidsetcode(structnode*);voidprinttree(

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。