- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《数据结构》课程设计报告
设计题目:哈夫曼编/译码器
2014年 12 月 30 日
摘要
哈夫曼编码是根据字符的使用率的高低对字符进行不等长的编码,从而使使用率高的字符占用较少的空间,从而在传输的过程中大大提高了数据的空间传输效率。本设计采用二叉链表的存储结构,建立哈夫曼树;用递归调用的方式对哈夫曼树的节点进行编码,生成与字符对应的哈夫曼编码。本设计完全采用C++语言进行编程,并在XCode 6编译器上调试运行通过。本程序使用中文界面,并有相应的提示信息,便于操作和程序运行。
关键词:哈夫曼树;哈夫曼编码;递归调用;二叉链表
Abstract
Huffman coding is based on the level of usage of characters ranging from long coding, so that high usage rate of the characters occupy less storage space , in the course of transmission has greatly enhanced the efficiency of data transmission space. This design build the Huffman tree by using Binary Tree storage structure, encoded Huffman tree nodes by recursive calling, and the characters generate the corresponding Huffman coding. The procedure completely write with C++ language and has Chinese explanatory note. What’s more, it was debugged in XCode 6 debugger and run well. The whole procedure, with Chinese interface and the corresponding tips ,is convenient to run and easy to be operated.
Keywords: Huffman Tree; Huffman code; Recursive call; Binary List
目 录
摘要 1
Abstract 2
一、问题描述(内容格式参考下面的描述,以下类似) 4
1、问题描述: 4
2、基本要求: 4
二、需求分析 4
2.1 设计目标 4
2.2 设计思想 4
三、概要设计 5
3.1程序结构 5
3.2 初始化算法: 5
3.3 编码算法: 5
3.4 译码算法: 5
四、数据结构设计 5
五、算法设计 6
1、算法分析(必须要用语言进行描述) 6
2、算法实现 7
六、程序测试与实现 12
1、主程序 12
2、测试数据 13
3、测试结果 14
生成哈夫曼树运行结果图: 14
哈夫曼编码运行结果图: 15
编码函数运行结果图: 15
译码函数运行结果图: 15
平均编码长度函数运行结果图: 15
七、调试分析 15
程序调试的步骤: 15
调试体会: 16
八、遇到的问题及解决办法 16
九、心得体会 16
一、问题描述(内容格式参考下面的描述,以下类似)
1、问题描述:
利用哈夫曼编码进行信息通信可以大大提高信道利用率,缩短信息传输时间,降低传输成本。但是,这要求在发送端通过一个编码系统对待传数据预先编码,在接收端将传来的数据进行译码(复原)。试写一个哈夫曼编/译码系统。
2、基本要求:
一个完整的系统应具有以下功能:
(1)初始化。从终端读入字符集大小n,以及n个字符和n个权值,建立哈夫曼树,并将它存于文件中。
(2)编码。利用已建好的哈夫曼树对文件中的正文进行编码,然后将结果存入文件中。
(3)译码。利用已建好的哈夫曼树将文件中的代码进行译码,结果存入文件中。
(4)完成数据测试,要求编码字符不低于15个,编码文件的长度不低于50个字符。
(5)
二、需求分析
2.1 设计目标
一个完整的系统应具有以下功能:
1)初始化(Initialization)。从终端读入字符集大小n,以及n个字符和n个权值,建立哈夫曼树,并将它存于文件Tree.out中。输出哈夫曼树,及各字符对应的编码。
2)输入(Input)。从终端读入需要编码的字符串s,将字符串s存入文件Orinigal.txt中。
3)编码(Encode)与译码(Decode)。
编码(Encode)。利用已建好的哈夫曼树(如不在内存,则从文件Tree.
您可能关注的文档
最近下载
- 川崎 Kawasaki 2022款 Z 400 中文用户手册 使用说明书2021年4月14日印刷.doc VIP
- 最新2025年秋开学第一课主题班会PPT课件(含抗战胜利80周年内容).ppt
- [北京]冷轧带钢工程薄板酸轧设备基础施工方案.doc VIP
- 脑卒中睡眠障碍.pptx VIP
- 全国教学能力比赛《声临其境·影视配音要旨》教案(一等奖).pdf
- (高清版)DB36∕T 713-2013 高速公路红砂岩路基施工技术规范 .pdf VIP
- 全国教学能力比赛《声临其境·影视配音要旨》教学实施报告(一等奖).pdf
- 2025年人教版小升初英语试题及参考答案.docx VIP
- 2024-2025学年小学数学三年级上册(2024)人教版(2024)教学设计合集.docx
- 马复:新版教材特色与创新 (1).pdf VIP
文档评论(0)