长春市吉林大学数据结构_哈夫曼树.pptx

  1. 1、本文档共45页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
4.5 压缩与哈夫曼树;;;;数据压缩与哈夫曼树的关系;;1948 年, Shannon 在提出信息熵理论的同时,也给出了一种简单的编码方法—— Shannon 编码。 1952 年, R. M. Fano 又进一步提出了 Fano 编码。 这些早期的编码方法揭示了变长编码的基本规律,也确实可以取得一定的压缩效果,但离真正实用的压缩算法还相去甚远。;第一个实用的编码方法是由 D. A. Huffman 在 1952 年的论文“最小冗余度代码的构造方法( A Method for the Construction of Minimum Redundancy Codes )”中提出的。 直到今天,许多《数据结构》教材在讨论二叉树时仍要提及这种被后人称为 Huffman 编码的方法。;Huffman 编码效率高,运算速度快,实现方式灵活,从 20 世纪 60 年代至今,在数据压缩领域得到了广泛的应用。;例如,早期 UNIX 系统上一个不太为现代人熟知的压缩程序COMPACT 实际就是Huffman 0 阶自适应编码的具体实现。 20 世纪 80 年代初, Huffman 编码又出现在?CP/M?和 DOS 系统中,其代表程序叫 SQ 。 今天,在许多知名的压缩工具和压缩算法(如 WinRAR 、 gzip 和 JPEG )里,都有 Huffman 编码的身影。;哈夫曼编码的发展历史;数据压缩;数据压缩是计算机科学中的重要技术。 数据压缩过程称为编码,即将文件中的每个字符均转换为一个唯一的二进制位串。 数据解压过程称为解码,即将二进制位串转换为对应的字符。 比如: s——00000 nl ——00001 t——0001 a——001 e ——01 i ——10 sp ——11 ;文件编码;等长编码和不等长编码;?;?;?;等长编码存在的问题——浪费空间;不等长编码存在的问题——多义性;问题解决——前缀码;怎样的前缀码才能使文件的总编码长度最短?;?;哈夫曼算法原理;基本概念;扩充二叉树、内结点、外结点;内、外通路长度;?;加权外通路长度WPL;最优二叉树;例. 假设有一个文件仅包含7个字符a,e,I,s,t,sp和nl,且文件中有10个a,15个e,12个i,3个s,4个t,13个sp,1个nl。 如果把每个结点都作为一棵二叉树的根结点,那么这7个根结点就组成了一个森林。 把结点在文件中出现的次数定义为该节点的权值。 ;哈夫曼算法思想——2;哈夫曼算法动画演示示例;s;1;问 题;哈夫曼编码是前缀码;哈夫曼树为最优二叉树;哈夫曼算法采用的结点结构;哈夫曼算法描述;?;解 码;实际应用——JPEG;思考题

文档评论(0)

xina171127 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档