数据结构课程设计---哈弗曼编码译码
《数据结构课程设计---哈弗曼编码译码》由会员分享,可在线阅读,更多相关《数据结构课程设计---哈弗曼编码译码(8页珍藏版)》请在毕设资料网上搜索。
1、 哈夫曼编码译码哈夫曼编码译码 一、一、 需求分析需求分析 在当今信息爆炸时代, 如何采用有效的数据压缩技术节省数据文件的存储空间和 计算机网络的传送时间已越来越引起人们的重视, 哈夫曼编码正是一种应用广泛 且非常有效的数据压缩技术。哈夫曼编码是一种编码方式,以哈夫曼树即最优 二叉树,带权路径长度最小的二叉树,经常应用于数据压缩。哈弗曼编码使用一 张特殊的编码表将源字符(例如某文件中的一个符号)进行编码。这张编码表的 特殊之处在于,它是根据每一个源字符出现的估算概率而建立起来的(出现概率 高的字符使用较短的编码,反之出现概率低的则使用较长的编码,这便使编码之 后的字符串的平均期望长度降低,从而
2、达到无损压缩数据的目的) 。哈夫曼编码 的应用很广泛,利用哈夫曼树求得的用于通信的二进制编码称为哈夫曼编码。树 中从根到每个叶子都有一条路径,对路径上的各分支约定:指向左子树的分支表 示“0”码,指向右子树的分支表示“1”码,取每条路径上的“0”或“1”的序 列作为和各个叶子对应的字符的编码,这就是赫夫曼编码。 哈弗曼译码输入字符 串可以把它编译成二进制代码,输入二进制代码时可以编译成字符串 二、二、其主要流程图其主要流程图: 开始 结点数是否大于 1 将 data 和权值赋给 ht 输出根结点和权值 调用 SELECT 函数 计算根结点函数 父结点为两子结点之和 输出两子结点和已构造的结点
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中设计图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 课程设计 哈弗曼 编码 译码
