1 / 18
文档名称:

哈夫曼树编码实验报告.doc

格式:doc   大小:208KB   页数:18页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

哈夫曼树编码实验报告.doc

上传人:pk5235 2019/7/11 文件大小:208 KB

下载得到文件列表

哈夫曼树编码实验报告.doc

文档介绍

文档介绍:、数据结构课程设计报告题目:哈夫曼编码/译码学院数学与信息科学学院学科门类理科专业数学类学号2013433033姓名田娟2014年12月30日目录一、需求分析程序的功能····················································································································································3二、·······························3主程序模块···················································3主模块的流程及各子模块的主要功能·····························4模块之间的层次关系···········································4三、······················································································5四、···························15五、,输入叶子结点个数,权值,字符集··············································································································································································································································16六、源程序一、;哈夫曼编码是一种应用广泛而有效的数据压缩技术。利用哈夫曼编码进行通信可以大大提高信道利用率,加快信息传输速度,降低传输成本。数据压缩的过程称为编码,解压缩的过程称为译码。进行信息传递时,发送端通过一个编码系统对待传数据(明文)预先编码,而接收端将传来的数据(密文)进行译码。;::从终端读入字符集大小n、n个字符以及n个对应的权值,建立哈夫曼树;利用已经建好的哈夫曼树求每个叶结点的哈夫曼编码,并保存。:利用已构造的哈夫曼编码对“明文”文件中的正文进行编码,然后将结果存入“密文”文件中。:将“密文”文件中的0、1代码序列进行译码。“密文”文件:将文件以紧凑格式显示在终端上,每行30个代码;同时,将此字符形式的编码文件保存。:将已在内存中的哈夫曼树以凹入表形式显示在终端上,同时将每个字符的哈夫曼编码显示出来;并保存到文件。。,权值集合为{1,3,5,7},字符集合为{A,B,C,D},且字符集与权值集合一一对应。,统计给出的字符集,实际统计字符的频度,建立哈夫曼树,构造哈夫曼编码,并实现其编码和译码。二、;classHuffmanTree//哈夫曼树{private:HuffmanNode*Node;//Node[]存放哈夫曼树intLeafNum;//哈夫曼树的叶子个数,()//函数功能:建立哈夫曼树voidHuffmanTree::CreateHuffmanTree():为哈夫曼树编码voidHuffmanTree::Encoder():对哈夫曼树进行译码voidHuffmanTree::Decoder()//函数功能:从文件中输出哈夫曼树的码文voidHuffmanTree::PrintCodeFile():用凹入法输出哈夫曼树voidHuffmanTree::PrintHuffmanTree_aoru(intT,intlayer);哈夫曼编码/。①初始化: 从键盘接收字符集大小n,以及n