欢迎来到天天文库
浏览记录
ID:928232
大小:1.63 MB
页数:30页
时间:2017-09-25
《《哈夫曼编码译码课程设计》报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、计算机与信息工程系《实践环节名称》报告专业:计算机科学与技术班级:********学号:*********姓名:杨明英报告完成日期:2011/6/10指导教师:***评语:成绩:批阅教师签名:批阅时间:目录1.问题描述……………………………………………………………12.基本要求……………………………………………………………13.数据结构……………………………………………………………14.总体设计……………………………………………………………15.详细设计……………………………………………………………25.1主函数voidmain()………………………………………………
2、………25.2建立文件voidjianliwenjian()…………………………………………35.3输入原文voidluruyuanwen()…………………………………………45.4创建哈夫曼树voidchuangjian()………………………………………55.5编码voidbianma()……………………………………………………65.6对哈夫曼码译码voidyiwen()…………………………………………75.7保存译文voidbaocunyiwen()……………………………………………85.8输出原文voidduquyuanwen()…………………………………………
3、95.9输出原文编码voidduqubianma()…………………………………………105.10输出译文voidduquyiwen()……………………………………………116.测试与调试…………………………………………………………117.源程序清单…………………………………………………………88.实验心得……………………………………………………………281.问题描述打开一篇英文文章,统计该文章中每个字符出现的次数,然后以它们作为权值,设计一个哈夫曼编/译码系统。2.基本要求以每个字符出现的次数为权值,建立哈夫曼树,求出哈夫曼编码,对文件yuanwen中的正文进行编码,
4、将结果存到文件yiwen中,再对文件yiwen中的代码进行译码,结果存到textfile中。3.数据结构charCH[N];//记录原文字符数组charYW[N];//记录译文字符数组typedefchar*Hcode[m+1];//存放哈夫曼字符编码串的头指针的数组typedefstruct{chara;intnum;}dangenode;//记录单个字符的类别和出现的次数typedefstruct{dangenodeb[m];inttag;}jilunode;//统计原文出现的字符种类和数量typedefstructnode//静态三叉的哈夫曼树的定义{intwe
5、ight;//结点的权值intparent;//双亲的下标intLchild;//左孩子结点的下标intRchild;//右孩子结点的下标}htnode,hn[M+1];//hn是结构数组类型,0号单元不用4.总体设计功能函数模块划分voidmain()//主函数voidjianliwenjian()//建立存储原文的文件yuanwenvoidluruyuanwen()//通过程序录入原文到文件yuanwen中voidmin_2(hnht,intn,int*tag1,int*tag2)//选择权值较小的两个结点voidchuangjian(jilunode*jilu,
6、hnht)//建立哈夫曼树voidbianma(jilunode*jilu,hnht,Hcodehc,intn)//对原文进行编码voidbianmabaocun(Hcodehc,jilunode*jilu)//保存编码在文件yiwen中voidyiwen(Hcodehc,jilunode*jilu)//读取yiwen中的编码,并将其翻译为原文voidbaocunyiwen()//将翻译的译文保存到文件textfile中voidduqubianma()//在编码文件yiwen中读取编码voidduquyiwen()//从文件textfile中读取译文281.详细设计1
7、.1主函数voidmain()开始Inttep=1;Ntep=1Ya=1NYNa=2Yjianliwenjian();NYa=3luruyuanwen();NYc=1chuangjian(jilu,humtree);Na=4Nc=1YYtep=0;Nbianma(jilu,humtree,hc,jilu->tag);hc,jilu);Yyiwen(hc,jilu);tep=0;a=5system("cls");YNa=6duquyuanwen();Bianmabaocun(hc,jiolu);system("cls");break;Ybaocunyi
此文档下载收益归作者所有