- 5
- 0
- 约小于1千字
- 约 11页
- 2016-12-20 发布于重庆
- 举报
献给小杨老师 设计题目Huffman编码和译码 小组成员:张林,刘思琪 邓娜,彭鑫琪 课题设计的目的及意义 采用有效的数据压缩技术节省数据文件的存储空间已经引起人们的重视,霍夫曼编码就是一种有效的的数据压缩技术,信息通信可以大大提高信道利用效率,缩短信息传输时间,降低成本。So设计霍夫曼树具有非常重要的现实意义 Huffman编码与译码的原理 输入一个字符串,统计其出现的频率,通过对带权值的字符串的编码从而构造最优二叉树,左子树为0,右子树为1,取0或1作为字符串的编码,权值定义为出现次数的频率,频率越高字符编码越短,及把输入的字符串编码成二进制输出,译码时将二进制编译成字符串,编入完成后将结果存入一个文件中,以便译码时调用 算法思想分析 通过C++算法建立一个类HffmanTree,在此类中定义并实现huffman树的建立,编码,译码,生成和输出等一系列方法,并通过主函数调用类中的各种方法来实现各种需求。 构造huffman方法与步骤 (1)统计n个字符,构造n个节点二叉树,权值为W1,W2,W3,构成集合M,这些结点既为根节点,又为子结点 (2)在M中取权值最小的数作为左右子数,构造新二叉树 (3)从M中删除被选中的两棵树,将新的二叉树插入进去 (4)重复(2)(3)至M中直到只
原创力文档

文档评论(0)