哈夫曼树和哈夫曼编码_第1页
哈夫曼树和哈夫曼编码_第2页
哈夫曼树和哈夫曼编码_第3页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、哈夫曼树和哈夫曼编码本节初赛复赛都会考。初学数据结构的读者可以在本节领略到数据结构的微妙。先跳过概念学习怎样构造一棵哈夫曼树。在学习本节内容之前,我们一、如何构造一棵哈夫曼树?哈夫曼树也是一棵二叉树给n个点,每个点都有权值, 构造一棵哈夫曼树。 每次选剩下的两棵根权值最小的树合并成一棵新树, 新树的根权值等于两棵合并前树的根权值和。一开始一个点也看成一棵树,只不过这棵树没有孩子节点例1: 4个点,a、b、c、d,权值分别为7、5、2、4。构树过程:因为4个点,所以合并第一步:选根权值最小的两棵树第二步:选根权值最小的两棵树第二步:选根权值最小的两棵树3次n个点,合并 n-1次2c和4 d合并,

2、新树的根节点为6,如图b;5 b和6合并,新树的根节点为11,如图c;7a和11合并,新树的根节点为18,如图c;(a)(b)例 2 : 6 个点,a、b、c、d、e、f,权值分别为 0.4、0.3、0.1、0.1、0.02、0.08构图过程同例1。如下列图Q & O 砂© ®03030.10.92 OJS(OF. Cv D的令井04OJ 0成20.08t/) Av" B* 如 0、E* 舍井二、根本概念树的路径长度 PL :从树根到树的每个节点的路径长度每条边长度为1之和完全二叉树为这种路径长度最短的二叉树。树的带权路径长度 WPL :树的所有叶子节点的

3、带权路径长度该节点到根节点路径长度与节点上权的 乘积之和。透彻理解树的路径长度和树的带权路径长度这两个概念非常重要。哈夫曼树:带权路径长度 WPL最短的二叉树最优二叉树构造这种树的算法最早是由哈夫曼Huffma n1952年提出,这种树在信息检索中很有用。PL-0+1+2+2+3+4+5*!7(b) PL=0+l+l+2*4+313MwpL=y w.zJT/ i例如例1,构造哈夫曼树的 WPL为35是最小的。具体比拟如下列图:WPL-7*2+5*2+2*2+4*2=36WPL-7*3+5+31 2*1+4*2=46WPL-7+l+5*2+2+3+4*3=35二、哈夫曼编码一篇电文,原文为:AM

4、CADEDDMCCAD。现在要把原文转换成01串发送给对方。为了节省资源,我们当然希望翻译好的01串长度尽量的短。怎么办?研究发现:1、只有5个字母E,M,C,A,D ; 2、这5个字母的使用频度分别为 E,M,C,A,D = 123,3,4 用频度为权值生成哈夫曼树,并在叶子上标注对应的字母,在树枝上标注分配码“0 或“1 (注:分配码不是边的长度,而是区分左右孩子代表方向)哈夫曼编码原那么:n个节点的哈夫曼树含有 2n-1个节点,没有度为1的节点编码从叶子节点到根节点,译 码从根节点到叶子节点。从哈夫曼树根节点开始,对左子树分配码“0,右子树分配码 “1,一直到达叶子节点为止,然后将从树根

5、沿每条路径到达叶子结点的代码排列起来,便得到了哈夫曼编码。由喰夫壬徧躅裁濡每个字母領码EE IChD000 001011011小的,但此时的WPL 定是最小的。WPL最小才能使得密报翻译的01串长度最短。例3 :对原电文进行哈夫曼编码,如上图,那么哈夫曼编码的WPL= 1*3 + 2*3 + 3*2 + 3*2 + 4 *2 = 29例4 :对原电文进行等长编码,贝V:E I CA D000001010011100等长编码的 WPL =1*3 + 2*3 + 3*3 + 3*3 + 4*3 = 39所以哈夫曼编码可以节省空间。原电文 AMCADEDDMCCAD 翻译成 01 串后为:。对方根据

6、事先构造好的哈夫曼树编码表可以复原原电文。由哈先蓋編码树菠學每个宇母编码tEICA0000 oot011011问题:为什么根据哈夫曼编码可以复原原电文而没有出现某一串01串可以翻译成两个字母串呢?原因:在编码中任何一字符的编码不是另一字符编码的前缀。这点很重要,也需要读者花时间理解。练习、0.05 、 0.09 ,),WPL=(),WPL=(),,求 PL二(),E()。),D(D .( 1 , 01 , 000 ,001 )110, 111 )1、 6 个点 a、b、c、d、e、f,权值分别为0.5、0.6、0.15、0.1求 PL=(2、 文章中只出现五个字母ABCDE,出现频率 二 6,2 , 1 , 2,5 其中各个字母的哈夫曼编码为A(), B(), C(3、 下面哈夫曼编码组合哪一组不是合法的前缀编码()A .( 00 , 1 , 10 , 11 ) B .( 01 , 10 , 00 , 11 ) C.(0, 10,历年题目2021提高7、最优前缀编码,也称Huffma n编码。这种编码组合的特点是对于较频繁使用的元素给与较短的唯一编码,以提高通讯的效率。下面编码组合哪一组不是合法的前缀编码()A

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论