欢迎来到天天文库
浏览记录
ID:52165707
大小:415.50 KB
页数:20页
时间:2020-03-23
《数据结构课程设计报告.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、数据结构课程设计《数据结构》课程设计报告设计题目:哈夫曼编/译码器19数据结构课程设计2014年12月30日19数据结构课程设计摘要哈夫曼编码是根据字符的使用率的高低对字符进行不等长的编码,从而使使用率高的字符占用较少的空间,从而在传输的过程中大大提高了数据的空间传输效率。本设计采用二叉链表的存储结构,建立哈夫曼树;用递归调用的方式对哈夫曼树的节点进行编码,生成与字符对应的哈夫曼编码。本设计完全采用C++语言进行编程,并在XCode6编译器上调试运行通过。本程序使用中文界面,并有相应的提示信息,便于操作和程序运行。关键词:哈
2、夫曼树;哈夫曼编码;递归调用;二叉链表19数据结构课程设计AbstractHuffmancodingisbasedonthelevelofusageofcharactersrangingfromlongcoding,sothathighusagerateofthecharactersoccupylessstoragespace,inthecourseoftransmissionhasgreatlyenhancedtheefficiencyofdatatransmissionspace.ThisdesignbuildtheHu
3、ffmantreebyusingBinaryTreestoragestructure,encodedHuffmantreenodesbyrecursivecalling,andthecharactersgeneratethecorrespondingHuffmancoding.TheprocedurecompletelywritewithC++languageandhasChineseexplanatorynote.What’smore,itwasdebuggedinXCode6debuggerandrunwell.Thew
4、holeprocedure,withChineseinterfaceandthecorrespondingtips,isconvenienttorunandeasytobeoperated.Keywords:HuffmanTree;Huffmancode;Recursivecall;BinaryList19数据结构课程设计目录摘要1ABSTRACT2一、问题描述(内容格式参考下面的描述,以下类似)41、问题描述:42、基本要求:4二、需求分析42.1设计目标42.2设计思想4三、概要设计53.1程序结构519数据结构课程设计
5、3.2初始化算法:53.3编码算法:53.4译码算法:5四、数据结构设计5五、算法设计61、算法分析(必须要用语言进行描述)62、算法实现7六、程序测试与实现121、主程序122、测试数据133、测试结果14生成哈夫曼树运行结果图:14哈夫曼编码运行结果图:15编码函数运行结果图:15译码函数运行结果图:15平均编码长度函数运行结果图:15七、调试分析15程序调试的步骤:15调试体会:16八、遇到的问题及解决办法16九、心得体会16一、问题描述(内容格式参考下面的描述,以下类似)1、问题描述:利用哈夫曼编码进行信息通信可以大
6、大提高信道利用率,缩短信息传输时间,降低传输成本。但是,这要求在发送端通过一个编码系统对待传数据预先编码,在接收端将传来的数据进行译码(复原)。试写一个哈夫曼编/译码系统。2、基本要求:一个完整的系统应具有以下功能:(1)初始化。从终端读入字符集大小n,以及n个字符和n个权值,建立哈夫曼树,并将它存于文件中。(2)编码。利用已建好的哈夫曼树对文件中的正文进行编码,然后将结果存入文件中。(3)译码。利用已建好的哈夫曼树将文件中的代码进行译码,结果存入文件中。(4)完成数据测试,要求编码字符不低于15个,编码文件的长度不低于50
7、个字符。19数据结构课程设计(5)计算平均编码长度。二、需求分析2.1设计目标一个完整的系统应具有以下功能:1)初始化(Initialization)。从终端读入字符集大小n,以及n个字符和n个权值,建立哈夫曼树,并将它存于文件Tree.out中。输出哈夫曼树,及各字符对应的编码。2)输入(Input)。从终端读入需要编码的字符串s,将字符串s存入文件Orinigal.txt中。3)编码(Encode)与译码(Decode)。编码(Encode)。利用已建好的哈夫曼树(如不在内存,则从文件Tree.out中读入),对文件Or
8、inigal.txt中的正文进行编码,然后将结果存入文件CodeOrinigal.txt中。译码(Decode)。利用已建好的哈夫曼树将文件CodeOrinigal.txt中的代码进行译码,结果存入文件TextFile中。输出编码文件(Print)。将编码显示在终端上。同时将此字符形式的编
此文档下载收益归作者所有