哈夫曼编译码器设计课设Word文档格式.docx
- 文档编号:21258721
- 上传时间:2023-01-28
- 格式:DOCX
- 页数:7
- 大小:259.96KB
哈夫曼编译码器设计课设Word文档格式.docx
《哈夫曼编译码器设计课设Word文档格式.docx》由会员分享,可在线阅读,更多相关《哈夫曼编译码器设计课设Word文档格式.docx(7页珍藏版)》请在冰豆网上搜索。
关键词:
数据结构、树状结构、编码和解码
前言
本课程设计要求完成发送端对待传送数据的编码和接收端对传送来的数据的译码。
要实现五个功能:
接收原始数据、编码、译码、将编码和译码存档。
通过系统的提示建立赫夫曼树并对载入的原文件进行编码,并保存到指定的文件中,同时输出到屏幕。
另一方面,对原文件进行译码,并将译码的结果保存到指定的文件中,同时输到屏幕。
对于编码和译码的操作中的文件导入,分为键盘输入和文件输入两种。
1.问题描述:
根据赫夫曼编码和解码算法,将指定的文件中的赫夫曼编码进行译码,并输出到文件中,还要实现对文件中支付的编码,并输出编码到文件中。
利用哈夫曼编码进行通信可以大大提高信道利用率,缩短信息传输时间,降低传输成本。
但是,这要求在发送端通过一个编码系统对待传数据预先编码,在接收端将传来的数据进行译码(复原)。
对于双工信道(即可以双向传输信息的信道),每端都需要一个完整的编/译码系统。
为这样的信息收发站写一个哈夫曼码的编/译码系统。
2.逻辑设计:
输入字符的和字符出现的频率,并将字符作为叶子节点,频率作为节点权值建立哈夫曼树,再根据在哈夫曼树中,由叶子结点逐步走到根节点的路径对叶子节点进行编码,译码时,从根节点找到叶子节点完成译码过程。
软硬件运行环境:
MicrosoftWindowsXP版本2002ServicePack3或MicrosoftWindows7旗舰版
开发工具:
MicrosoftVisualC++6.0
3.详细设计:
课程设计的流程图
4.程序编码
4.1主要的数据结构
#defineM100
#defineMAX10000
typedefstruct{
intweight;
intflag;
intparent;
charch;
intlchild;
intrchild;
}HafNode;
intbit[M];
intstart;
}HCode;
charbit[M];
}Coding;
4.2完成本课程设计所用方法及其原理
5.程序调试与测试
输入字符Z,X,C,V,B,N,M,并输入每个字符的相应权值1,1,22,8,13,57,20,然后对输入的字符构造哈夫曼树,并对每个字符进行编码。
运行结果如图所示:
6.结果分析
测试结果显示系统正常,各功能模块运行良好,程序可靠适用。
不足之处在于界面不太好看。
7.软件的安装及使用说明
7.1译码操作
将计算机硬盘中存储的名为“待译码.txt”的文件译码,并肩结果保存在相应的文件夹下的名为“译码后.txt”的文件中。
7.2编码操作
首先用键盘输入字符串ZXCVBNMMNBZZ,让程序对其进行编码,并将编码结果保存在相应文件夹下名为“键盘输入字符的编码.txt”这个文件中。
再将计算机硬盘中存储的名为“待编码的文件.txt”的文件进行编码,并将编码后的结果保存在相应的文件夹下名为“待编码的文件编码后.txt”的文件中。
在进行译码和编码的时候,将保存到计算机硬盘中的文件中的结果也显示在控制台的屏幕上,以便观看。
程序结果如图所示:
7.3退出程序的操作
用键盘输入操作代号“C”,退出程序。
设计总结
通过设计并编写有关赫夫曼编码与解码,锻炼自己的c
语言编程能力,养成良好的c语言编程风格。
不管怎样,这些都是一种锻炼,一种知识的积累,能力的提高。
完全可以把这个当作基础东西,只有掌握了这些最基础的,才可以更进一步,取得更好的成绩。
很少有人会一步登天吧。
永不言弃才是最重要的。
经过题目设计实验。
总体感觉,受益匪浅。
我认为,在这学期的实验中,在收获知识的同时,还收获了阅历,收获了成熟,在此过程中,我通过查找大量资料,请教老师,以及不懈的努力,不仅培养了独立思考、动手操作的能力,在各种其它能力上也都有了提高。
更重要的是,在实验课上,我们学会了很多学习的方法。
而这是日后最实用的,真的是受益匪浅。
要面对社会的挑战,只有不断的学习、实践,再学习、再实践。
致谢
在本次课程设计中,我从指导老师身上学到了很多东西。
老师认真负责的工作态度严谨的治学精神和深厚的类论水平都使我受益匪浅。
他无论在理论上还是在实践中,都给我很大的帮助,是我得到不少的提高这对于我以后的工作和学习都有一种巨大的帮助,感谢他细心而又耐心的辅导。
另外,在系统开发过程中计算机系其他老师也给了我很大的帮助,帮助解决了不少的难点,使得系统能及时开发完成,还有同组的几位同学的互助帮助,齐心协力,这里一并表示感谢。
参考文献
1严蔚敏,吴伟民.《数据结构(C语言版)》.清华大学出版社.
2严蔚敏,吴伟民.《数据结构题集(C语言版)》.清华大学出版社.
3《DATASTRUCTUREWITHC++》.WilliamFord,WilliamTopp.清华大学
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 哈夫曼编 译码器 设计