数据结构课程设计----Huffman树编码和译码
-
资源ID:1456501
资源大小:95.69KB
全文页数:18页
- 资源格式: DOCX
下载积分:100金币
快捷下载

账号登录下载
三方登录下载:
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
|
数据结构课程设计----Huffman树编码和译码
1、 高级语言课程设计高级语言课程设计 题目:题目: 数据结构课程设计数据结构课程设计 Huffman 树编码和译码 2011 年 06 月 29 日北京 1 目录目录 一设计题目 二 设计目的 三 算法思想分析 四 算法描述与实现 1)结构定义 2)程序算法描述: 3)算法的实现方法 4)结构框架 5)源代码 6)运行结果分析 五结论 2 一一设计题目设计题目: : 题目题目 2 2:哈夫曼编码和译码:哈夫曼编码和译码 问题描述:问题描述: 利用哈夫曼编码进行信息通信可以大大提高信道利用率,缩短信息传输时间, 降低传输成本。但是,这要求在发送端通过一个编码系统对待传数据预先编码, 在接收端将传来
2、的数据进行译码(复原)。对于双工信道(即可以双向传输信息 的信道),每端都需要一个完整的编/译码系统。试为这样的信息收发站写一个 哈夫曼编/译码系统。 基本要求:基本要求: 一个完整的系统应具有以下功能: (1)初始化(Initialization)。从终端读入字符集大小 n,以及 n 个字符 和 n 个权值,建立哈夫曼树,(选做:并将它存于文件 hfmTree 中)。并显示出 每个字符的编码。 (2)编码(Encoding)。利用已建好的哈夫曼树(选做:如不在内存,则 从文件 htmTree 中读入),对输入的字符串文本(选做:对文件 ToBeTran 中的 正文)进行编码,(选做:然后将结
3、果存入文件 CodeFile 中。)并显示在屏幕 上。 (3)译码(Decoding) 。利用已建好的哈夫曼树将输入的代码进行译码(选 做:将文件 CodeFile 中的代码进行译码,结果存入文件 TextFile 中。),并显 示在屏幕上。 (4)打印哈夫曼树(Tree Printing)。将已在内存中的哈夫曼树以直观 的方式显示在屏幕上。 二二 设计目的设计目的: : 1了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力; 2初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能; 3提高综合运用所学的理论知识和方法独立分析和解决问题的能力; 4训练用系统的
4、观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学 的工作方法和作风。 三三 算法思想分析算法思想分析: : 通过 C+算法建立一个类 HuffmnanTree, 在此类中定义并实现 huffman 树的 建立(CreateHuffmanTree()),编码(Encoder()),译码(Decoder()),输 出等一系列方法。并通过主函数调用类中的各种方法来实现需求。 四四 算法描述与实现算法描述与实现 1 1算法描述算法描述: 1)结构定义: 3 2) 程序算法描述: Class HuffmanTree 中的算法及类型定义 private:private: HuffmanNode *Node; 即即 Node,用来存放哈夫曼树,用来存放哈夫曼树 int LeafNum; 源码个数源码个数 P Public:ublic: HuffmanTree(); 构造函数构造函数 HuffmanTree(); 析构函数析构函数 void CreateHuffmanTree