版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、XXX学院本科数据结构课程设计总结报告设计题目 : 实验一、哈夫曼编 / 译码器 学生姓名 : XXX系 别: XXX专 业: XXX班 级: XXX学 号: XXX指导教师 : XXX XXXxxx 学院课程设计任务书题目 一、赫夫曼编译码器专业、班级 xxx学号 xxx 姓名 xxx主要内容、基本要求、主要参考资料等:1. 主要内容利用哈夫曼编码进行信息通信可大大提高信道利用率, 缩短信息传输时间, 降低 传输成本。 要求在发送端通过一个编码系统对待传数据预先编码; 在接收端将传 来的数据进行译码(复原) 。对于双工信道(既可以双向传输信息的信道) ,每端 都需要一个完整的编 / 译码系统
2、。试为这样的信息收发站写一个哈夫曼的编 / 译码 系统。2. 基本要求系统应具有以下功能:( 1) C:编码( Coding)。对文件 tobetrans 中的正文进行编码,然后将结果存 入文件 codefile 中,将以此建好的哈夫曼树存入文件 HuffmanTree 中 (2)D:解码(Decoding )。利用已建好的哈夫曼树将文件 codefile 中的代码进 行译码,结果存入 textfile 中。( 3) P:打印代码文件( Print )。将文件 codefile 以紧凑格式显示在终端上, 每行 50 个代码。同时将此字符形式的编码文件写入文件 codeprint 中。( 4)
3、T:打印哈夫曼树( Tree Printing )。将已在内存中的哈夫曼树以直观的方 式(树或凹入表形式)显示在终端上,同时将此字符形式的哈夫曼树写入文件 treeprint 中。3. 参考资料:数据结构( C 语言版) 严蔚敏、吴伟民编著;数据结构标准教程 胡超、闫宝玉编著 完 成 期 限: 2012 年 6 月 21 日 指导教师签名:课程负责人签名:2012 年 6 月 21 日一、设计题目(任选其一)实验一、哈夫曼编 / 译码器二、实验目的1 巩固和加深对数据结构的理解,提高综合运用本课程所学知识的能力;2 深化对算法课程中基本概念、理论和方法的理解;3 巩固构造赫夫曼树的算法;4 设
4、计试验用程序实验赫夫曼树的构造。三、运行环境(软、硬件环境)Windows xp sp3 ,Visual C+ 英文版四、算法设计的思想 (1)初始化赫夫曼树,输入文件中各字符及其权值,并保存于文件中( 2)编码( Coding)。对文件 tobetrans 中的正文进行编码,然后将结果存入文 件 codefile 中(3)D:解码(Decoding )。利用已建好的哈夫曼树将文件 codefile 中的代码进 行译码,结果存入 textfile 中。( 4) P:打印代码文件( Print )。将文件 codefile 以紧凑格式显示在终端上, 每行 50 个代码。同时将此字符形式的编码文件
5、写入文件 codeprint 中。( 5) T:打印哈夫曼树( Tree Printing )。将已在内存中的哈夫曼树以直观的方 式显示在终端上,同时将此字符形式的哈夫曼树写入文件 treeprint 中。五、流程图六、算法设计分析1. 赫夫曼树节点的数据类型定义为:typedef structvoid HuffmanCoding(HuffmanTree &,char *,int*,int); 建立赫 夫曼树的算法 ,此函数 块调用了 Select ( ) 函数。 void select(HuffmanTree HT,int j,int *x,int *y);从已建好的赫夫曼树中选择p
6、arent 为 0,weight 最小的两个结点。3利用已建好的哈夫曼树从文件中读入,对文件中的正文进行编码,然后将结 果存入文件中。4. coding编码功能:对输入字符进行编码5. Decoding译码功能: 利用已建好的哈夫曼树将文件中的代码进行译码, 结果存入文件 中。6. Print() 打印功能函数:输出哈夫曼树以及对应的编码。七、源代码arent=i;HTy.parent=i;HTi.lchild=x;HTi.rchild=y;HTi.weight=HTx.weight+HTy.weight;arent=0)*x=i;break;for (;i<=j;i+)if (HTi.
7、parent=0)&&(HTi.weight<HT*x.weight)*x=i;HT*x.parent=1;arent=0)*y=i;break;for (;i<=j;i+)if (HTi.parent=0)&&(i!=*x)&&(HTi.weight<HT*y.weight) *y=i;arent;f!=0;c=f,f=HTf.parent) if(HTf.lchild=c) cd-start='0'else cd-start='1'HCi=(char *)malloc(n-start)*siz
8、eof(char); strcpy(HCi,&cdstart);free(cd);if(fp=fopen("","rb")=NULL)printf("Open file error!n");if(fw=fopen("","wb+")=NULL)printf("Open file error!n");char temp;child,m);fscanf(fp,"%c",&temp); h=temp) break; child,m); child
9、,m); child=0&&HTi.rchild=0) h; child,m); child,m); child,m); eight;if(HTj.lchild)Convert_tree(T,s+1,i,HTj.lchild);if(HTj.rchild)Convert_tree(T,s+1,i,HTj.rchild);Tl+k='0'请选择擦乍c.9Cz Docuaent x nncl Sett mxkuxer tt|Debua. exe'3译怙也印B?E.出将之件hf ruuoo lxt成功绵吗井己存人codafilo txt 口 IT引始化祐夫吴稣
10、区師马.亠."丁和代碣文什愈赫天曼粒R Hj.己祜5托订匕皿文仟成功译码 兵己存入CextTile.txt文件I诗迭择探作s *C;DociiBcnt s nnd Sett ing3u5cr-l1Drbiiea. cmk叮即己母好的册夫曼洌:16631210己舟玄手待形式的哈夫矣知写Afftrerprint|树 曼 件 夫 文nr 八117 9卩 A z引编详叮HTy.parent = i;HTi.lchild = x; HTi.rchild = y;HTi.weight = HTx.weight + HTy.weight;arent = 0)*x = i; break ;for (
11、; i <=j ; i+)if ( HTi.parent = 0) && ( HTi.weight< HT* x.weight)*x = i;HT* x.parent = 1;arent = 0)*y = i; break ;for (; i <=j ; i+)if ( HTi.parent = 0) && (i != * x) && ( HTi.weight< HT* y.weight) *y = i;arent; f != 0; c = f, f = HTf.parent)if (HTf.lchild = c)cd-s
12、tart ='0' ;else cd-start ='1' ;HCi = ( char *)malloc(n - start) * sizeof (char ); strcpy(HCi, &cdstart);free(cd);if (fp = fopen( "" , "rb" ) = NULL)printf( "Open file error!n");if (fw = fopen( "" , "wb+" ) = NULL)printf( "Open file error!n");char temp;fscanf(fp, "%c", &temp); h = temp) break ; child, m); child, m); child = 0 && HTi.rchild
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护理专业技能考核与评估的可持续发展
- 活动一 家用清洁用品大搜索教学设计小学综合实践活动沪科黔科版三年级下册-沪科黔科版
- 2026广东惠州市博罗县榕盛城市建设投资有限公司下属全资子公司招聘笔试及笔试历年参考题库附带答案详解
- 福建省南平市王台中学七年级体育《技巧 前滚翻》教学设计 人教新目标版
- 2026富维海拉车灯(成都)有限公司招聘笔试历年参考题库附带答案详解
- 2026宁夏建投特种设备检验检测有限公司引进急需紧缺注册类技术人员55人笔试历年参考题库附带答案详解
- 2026四川达州市大巴山文化旅游发展有限公司招聘正式员工考生结论及考察笔试历年参考题库附带答案详解
- 2026四川九洲教育投资管理有限公司招聘厨工等岗位1人笔试历年参考题库附带答案详解
- 2026内蒙古锡林郭勒盟苏尼特右旗朱日和铜业有限责任公司招聘3人笔试历年参考题库附带答案详解
- 2026中国华能集团有限公司招聘5人笔试历年参考题库附带答案详解
- 幼儿园安全教育课件:《过马路》
- 十送红军二声部合唱简谱
- 智能无人机机巢系统施工方案
- 钢制汽车零件感应淬火金相检验
- 医院药品目录(很好的)
- 司法鉴定人考试题库
- 装修工程监理方案投标方案技术标
- 局部解剖学:盆部、会阴局部解剖
- 阴道镜基础临床运用培训(飞利浦)
- 人教版小学语文六年级下册综合复习狱中联欢
- 初级hp smart array p430控制器用户指南
评论
0/150
提交评论