《奇妙的二叉树》PPT课件.ppt
《《奇妙的二叉树》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《奇妙的二叉树》PPT课件.ppt(22页珍藏版)》请在三一办公上搜索。
1、奇妙的二叉树:Huffman的贡献,提起 Huffman 这个名字,程序员们至少会联想到二叉树和二进制编码。的确,我们总以 Huffman 编码来概括 D.A.Huffman 个人对计算机领域特别是数据压缩领域的杰出贡献。我们知道,压缩=模型+编码,作为一种压缩方法,我们必须全面考虑其模型和编码两个模块的功效;但同时,模型和编码两个模块又相互具有独立性。,举例来说,一个使用 Huffman 编码方法的程序,完全可以采用不同的模型来统计字符在信息中出现的概率。因此,我们这一章将首先围绕 Huffman 先生最为重要的贡献 Huffman 编码展开讨论,随后,我们再具体介绍可以和 Huffman
2、联合使用的概率模型。,为什么是二叉树,为什么压缩领域中的编码方法总和二叉树联系在一起呢?原因非常简单,回忆一下我们介绍过的“前缀编码”:为了使用不固定的码长表示单个字符,编码必须符合“前缀编码”的要求,即较短的编码决不能是较长编码的前缀。要构造符合这一要求的二进制编码体系,二叉树是最理想的选择。考察下面这棵二叉树:,b,c,要编码的字符总是出现在树叶上,假定从根向树叶行走的过程中,左转为0,右转为1,则一个字符的编码就是从根走到该字符所在树叶的路径。正因为字符只能出现在树叶上,任何一个字符的路径都不会是另一字符路径的前缀路径,符合要求的前缀编码也就构造成功了:a 00 b 010 c 011
3、d 10 e 11,Shannon-Fano 编码,进入 Huffman 先生构造的神奇二叉树之前,我们先来看一下它的前身,由 Claude Shannon 和 R.M.Fano 两人提出的 Shannon-Fano 编码。,讨论之前,我们假定要编码字符的出现概率已经由某一模型统计出来,例如,对下面这串出现了五种字符的信息(40 个字符长):cabcedeacacdeddaaabaababaaabbacdebaceada五种字符的出现次数分别:a-16,b-7,c-6,d-6,e-5。,Shannon-Fano 编码的核心仍然是构造二叉树,构造的方式非常简单:1)将给定符号按照其频率从大到小排
4、序。对上面的例子,应该得到:a 16 b 7 c 6 d 6 e-5,2)将序列分成上下两部分,使得上部频率总和尽可能接近下部频率总和。我们有:a 16 b 7-c 6 d 6 e-5,3)我们把第二步中划分出的上部作为二叉树的左子树,记 0,下部作为二叉树的右子树,记 1。4)分别对左右子树重复 2 3 两步,直到所有的符号都成为二叉树的树叶为止。现在我们有如下的二叉树:,于是我们得到了此信息的编码表:a-00 b-01 c-10 d-110 e 111可以将例子中的信息编码为:cabcedeacacdeddaaabaababaaabbacdebaceada 10 00 01 10 111
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 奇妙的二叉树 奇妙 二叉 PPT 课件
链接地址:https://www.31ppt.com/p-5490752.html