欢迎来到天天文库
浏览记录
ID:39180667
大小:205.00 KB
页数:17页
时间:2019-06-26
《哈夫曼树编码实验报告材料》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实用标准文档、数据结构课程设计报告题目:哈夫曼编码/译码学院数学与信息科学学院学科门类理科专业数学类学号2013433033姓名田娟2014年12月30日文案大全实用标准文档目录一、需求分析1.程序的功能··················································32.输入输出的要求··············································33.测试数据····················································3二、概要设计1.本程序所用的抽象数据类型的定义·········
2、······················32.主程序模块···················································33.主模块的流程及各子模块的主要功能·····························44.模块之间的层次关系···········································4三、详细设计1.采用c语言定义相关的数据类型·································42.伪码算法文案大全实用标准文档···········································
3、··········5四、调试分析1.调试中遇到的问题及对问题的解决方法···························15五、使用说明及测试结果1.建立哈夫曼树,输入叶子结点个数,权值,字符集··················152.编码··························································153.译码··························································164.显示码文··············································
4、········165.显示哈夫曼树··················································16六、源程序一、需求分析1.程序的功能;文案大全实用标准文档哈夫曼编码是一种应用广泛而有效的数据压缩技术。利用哈夫曼编码进行通信可以大大提高信道利用率,加快信息传输速度,降低传输成本。数据压缩的过程称为编码,解压缩的过程称为译码。进行信息传递时,发送端通过一个编码系统对待传数据(明文)预先编码,而接收端将传来的数据(密文)进行译码。2.输入输出的要求;:2.1.构造哈夫曼树及哈夫曼编码:从终端读入字符集大小n、n个字符以及n个对应的权值,建立哈夫曼树;利用已
5、经建好的哈夫曼树求每个叶结点的哈夫曼编码,并保存。2.2编码:利用已构造的哈夫曼编码对“明文”文件中的正文进行编码,然后将结果存入“密文”文件中。2.3.译码:将“密文”文件中的0、1代码序列进行译码。2.4.打印“密文”文件:将文件以紧凑格式显示在终端上,每行30个代码;同时,将此字符形式的编码文件保存。2.5.打印哈夫曼树及哈夫曼编码:将已在内存中的哈夫曼树以凹入表形式显示在终端上,同时将每个字符的哈夫曼编码显示出来;并保存到文件。3.测试数据。3.1.令叶子结点个数N为4,权值集合为{1,3,5,7},字符集合为{A,B,C,D},且字符集与权值集合一一对应。3.2.请自行选定一段英文文
6、本,统计给出的字符集,实际统计字符的频度,建立哈夫曼树,构造哈夫曼编码,并实现其编码和译码。二、概要设计1.本程序所用的抽象数据类型的定义;classHuffmanTree//哈夫曼树{private:HuffmanNode*Node;//Node[]存放哈夫曼树intLeafNum;//哈夫曼树的叶子个数,也是源码个数2.主程序模块main()2.2建立哈夫曼树函数//函数功能:建立哈夫曼树voidHuffmanTree::CreateHuffmanTree()2.3函数功能:为哈夫曼树编码voidHuffmanTree::Encoder()2.4函数功能:对哈夫曼树进行译码voidHuff
7、manTree::Decoder()2.5输出码文函数//函数功能:从文件中输出哈夫曼树的码文voidHuffmanTree::PrintCodeFile()2.6函数功能:用凹入法输出哈夫曼树voidHuffmanTree::PrintHuffmanTree_aoru(intT,intlayer)3.主模块的流程及各子模块的主要功能;哈夫曼编码/译码系统文案大全实用标准文档显示哈夫曼树建立哈夫曼
此文档下载收益归作者所有