ImageVerifierCode 换一换
格式:PDF , 页数:12 ,大小:394.34KB ,
资源ID:4540922      下载积分:8 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/4540922.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     留言反馈    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(数据结构实验报告(c语言)哈夫曼实验.pdf)为本站上传会员【天****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

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

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

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

3、ng)。利用已建好的哈夫曼树将文件 CodeFile 中的代码进行译码,结果存入文件 TextFile 中。(4)P:印代码文件(Print)。将文件 CodeFile 以紧凑格式显示在终端上,每行 50 个代码。同时将此字符形式的编码文件写入文件 CodePrin 中。(5)T:印哈夫曼树(Tree printing)。将已在内存中的哈夫曼树以直观的方式(树或凹入表形式)显示在终端上,同时将此字符形式的哈夫曼树写入文件 TreePrint 中。2测试数据测试数据(1)利用下面这道题中的数据调试程序。某系统在通信联络中只可能出现八种字符,其概率分别为0.25,0.29,0.07,0.08,0.

4、14,0.23,0.03,0.11,试设计哈夫曼编码。(2)用下表给出的字符集和频度的实际统计数据建立哈夫曼树,并实现以下报文的编码和译码:“THIS PROGRAM IS MY FAVORITE”。字符 空格 A B C D E F G H I J K L M频度 186 64 13 22 32 103 21 15 47 57 1 5 32 20字符 N O P Q R S T U V W X Y Z频度 57 63 15 1 48 51 80 23 8 18 1 16 1(三)(三)主要仪器设备主要仪器设备仪器:仪器:计算机实验环境:实验环境:Windows 7+win-TC(四)(四)源

5、程序源程序#include#include#include#include int n;struct node int w;int flag;char c;struct node*plink,*llink,*rlink;char code50;*num100,*root;FILE*fp;char tmpcode50;int t=0;void main(void)int i;void settree(void);void code(void);void decode(void);3 void disp(void);root=(struct node*)malloc(sizeof(struct n

6、ode);while(1)start:puts(1.Initializationn2.Encodingn3.Decodingn4.Printn5.Tree printing);while(scanf(%d,&i)!=1)while(getchar()!=n)continue;puts(input error);puts(please repeat again);puts(1.Initializationn2.Encodingn3.Decodingn4.Printn5.Tree printing);switch(i)case 1:settree();break;case 2:code();bre

7、ak;case 3:decode();break;case 4:disp();break;case 5:exit(0);default:puts(input error);puts(please repeat again);goto start;getch();void settree(void)int i,j,k;struct node*p1,*p2,*tmp,*p;void go(struct node*);4 void setcode(struct node*);void printtree(struct node*);puts(please input the Quantity of

8、Characters);scanf(%d,&n);while(getchar()!=n)continue;for(i=0;ic);while(getchar()!=n)continue;puts(please input the weight of the Character);scanf(%d,&p-w);while(getchar()!=n)continue;p-plink=NULL;p-rlink=NULL;p-llink=NULL;numi=p;for(i=0;in-1;i+)for(j=i+1;jwnumj-w)tmp=numi;numi=numj;numj=tmp;numn=NUL

9、L;k=n;while(num1!=NULL)p=(struct node*)malloc(sizeof(struct node);p1=num0;5 p2=num1;p-llink=p1;p-rlink=p2;p-plink=NULL;p1-plink=p;p2-plink=p;p-w=p1-w+p2-w;for(i=1;ik;i+)numi=numi+1;k-;num0=p;for(i=0;ik-1;i+)for(j=i+1;jwnumj-w)tmp=numi;numi=numj;numj=tmp;root=num0;if(fp=fopen(f:texttexthfmtree.wxl,wb

10、)=NULL)puts(FILE OPEN ERROR);getchar();exit(0);setcode(root);go(root);fclose(fp);void setcode(struct node*p)if(p-llink=NULL&p-rlink=NULL)6 tmpcodet=0;strcpy(p-code,tmpcode);else tmpcodet+=0;setcode(p-llink);t-;tmpcodet+=1;setcode(p-rlink);t-;void go(struct node*p)if(p-llink=NULL&p-rlink=NULL)fputc(,

11、fp);fputc(p-c,fp);fputs(p-code,fp);fputc(),fp);else go(p-llink);go(p-rlink);void code(void)FILE*fp1,*fp2,*fp3;char ch1,ch2,c;if(fp1=fopen(f:texttexthfmtree.wxl,rb)=NULL)puts(FILE OPEN ERROR);getchar();7 exit(0);if(fp2=fopen(f:texttexttobetran.txt,rb)=NULL)puts(FILE OPEN ERROR);getchar();exit(0);if(f

12、p3=fopen(f:texttextcodefile.wxl,wb)=NULL)puts(FILE OPEN ERROR);getchar();exit(0);while(ch1=fgetc(fp2)!=EOF)t=0;while(ch2=fgetc(fp1)!=EOF)if(ch1=ch2)while(c=fgetc(fp1)!=)tmpcodet+=c;tmpcodet=0;fputs(tmpcode,fp3);fputc(,fp3);rewind(fp1);break;fclose(fp1);fclose(fp2);fclose(fp3);void decode(void)8 FILE

13、*fp1,*fp2,*fp3;char ch1,ch2,ch3;char temp_320;char temp_120;int t1,t3;if(fp1=fopen(f:texttexthfmtree.wxl,rb)=NULL)puts(FILE OPEN ERROR);getchar();exit(0);if(fp2=fopen(f:texttexttextfile.txt,wb)=NULL)puts(FILE OPEN ERROR);getchar();exit(0);if(fp3=fopen(f:texttextcodefile.wxl,rb)=NULL)puts(FILE OPEN E

14、RROR);getchar();exit(0);while(ch3=fgetc(fp3)!=EOF)t3=0;while(ch3!=)temp_3t3+=ch3;ch3=fgetc(fp3);temp_3t3=0;while(ch1=fgetc(fp1)!=EOF)if(isalpha(ch1)ch2=ch1;t1=0;while(ch1=fgetc(fp1)!=)temp_1t1+=ch1;temp_1t1=0;9 if(strcmp(temp_1,temp_3)=0)fputc(ch2,fp2);rewind(fp1);break;fclose(fp1);fclose(fp2);fclos

15、e(fp3);getch();void disp(void)FILE*fp1,*fp2;char ch1,ch2;char tmp20;int t;if(fp1=fopen(f:texttexthfmtree.wxl,rb)=NULL)puts(FILE OPEN ERROR);getchar();exit(0);if(fp2=fopen(f:texttexthfmcode.txt,wb)=NULL)puts(FILE OPEN ERROR);getchar();exit(0);while(ch1=fgetc(fp1)!=EOF)if(ch1=()t=0;ch1=fgetc(fp1);ch2=

16、ch1;while(ch1=fgetc(fp1)!=)10 tmpt+=ch1;tmpt=0;printf(%c-%sn,ch2,tmp);fputc(ch2,fp2);fputc(-,fp2);fputc(-,fp2);fputc(-,fp2);fputs(tmp,fp2);fputc(n,fp2);fclose(fp1);fclose(fp2);(五)(五)数据调试数据调试首先建立准备好调试环境,本次试验将文本的建立与存储都放置在 F:/目录下1.运行程序,选择 1 项,进行编码表的输入11输入完成后在目录下生成 hfmtree.wxl 文件2.在目录下创建 tobetran.txt 文件,将“this program is my favorite”输入其中,在原程序中继续选择第二项编码操作,生成该句子的编码,并存储在 codefile.wxl 文件中。3.运行程序第三项译码,翻译 codefile 中的编码,将所得语句存储在textfile.txt 文件中124.在原程序中显示哈夫曼数,并将其写入文件 Treeprint.txt.(六六)实验结果与分析实验结果与分析试验结果基本无误。

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服