哈夫曼树和第七章图.pptVIP

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
哈夫曼树和第七章图.ppt

6.3哈夫曼树及其应用 1、哈夫曼树 概念: 从一个结点到另一个结点之间的分支数目称为这对结点之间的路径长度。 树的路径长度是从树的根到每一结点的路径长度之和。 1 2 4 5 3 6 7 PL=0+1+1+2+2+2+2=10 树的路径长度用PL表示。 1 2 4 5 3 6 7 PL=0+1+1+2+2+2+2=10 1 2 4 5 C 6 7 PL=0+1+1+2+2+3+3=12 树的路径长度用PL表示。 结点带权的路径长度: 从该结点到树根之间的路径长度与结点上权的乘积。 树的带权路径长度(WPL): 树中叶子结点带权路径长度之和。 a b c d 7 5 2 4 WPL=7*2+5*2+2*2+4*2=36 树的带权路径长度记作: 其中:Wk为树中每个叶子结点的权; L k为每个叶子结点到根的路径长度。 a b c d 7 5 2 4 WPL=7*2+5*2+2*2+4*2=36 WPL最小的二叉树就称作最优二叉树或哈夫曼树 。 a b c d 7 5 2 4 WPL=7*2+5*2+2*2+4*2=36 d c a b 2 4 7 5 WPL=7*3+5*3+2*1+4*2=46 a b c d 7 5 2 4 WPL=7*1+5*2+2*3+4*3=35 哈夫曼树 (最优树) 加权路径长度最小的二叉树就是哈夫曼树。 公式: 6 7 5 c d (b) 18 a 7 11 c d b 5 6 2 4 (d) a b c d 7 5 2 4 (a) 2、哈夫曼树的构造 例:给定权值{7,5,2,4},构造哈夫曼树。 方法: (1)由原始数据生成森林; (2) 在森林中选取两棵根结点权值最小的和次小的二叉树作为左右子树构造一棵新的二叉树,其根结点的权值为左右子树根结点权值之和。规定左子树根结点的权值小于右子树根结点的权值。 (3)将新的二叉树加入到森林F中,去除原两棵权值最小的树; (4)重复2、3步骤,直至F中只剩一棵树为止。 11 b 5 7 c d (c) 6 3、哈夫曼树的应用 (1)判定树 在解决某些判定问题时,利用哈夫曼树可以得到最佳判定算法。 例1 将学生百分成绩按分数段分级的程序。 若学生成绩分布是均匀的,可用图(a)二叉树结构来实现。 a60 a70 a80 a90 不及格 中等 良好 优秀 及格 Y N Y N Y N Y N (a) 输入10000个数据,则需进行31500次比较。 0.10 0.3 0.4 0.15 0.05 比例 90—99 80—89 70—79 60—69 0—59 分数 70≤a≤ 80 a60 及格 中等 良好 80≤a90 60≤a70 不及格 优秀 Y N Y Y Y N N N (b) 不及格 Y a90 a80 a70 a60 优秀 中等 及格 良好 Y N N N (c) Y Y Y 学生成绩分布不是均匀的情况: 以比例数为权构造一棵哈夫曼树,如(b)判断树所示。 再将每一比较框的两次比较改为一次,可得到(c)判定树。 输入10000个数据,仅需进行22000次比较。 14 6 8 3 3 4 4 2 2 0 0 0 0 1 1 1 1 T ; A C S 各字符编码是 T ; A C S ????? 00 01 10 110 111 上述电文编码: 11010111011101000011111000011000 方法: (1)用{ 2,4, 2,3, 3 }作为叶子结点的权值生成一棵哈夫曼树,并将对应权值wi的叶子结点注明对应的字符; (2)约定左分支表示字符“0”,右分支表示字符‘1’ (3)从叶子结点开始,顺着双亲反推上去,直到根结点,路径上的‘0’或‘1’连接的序列就是结点对应的字符的二进制编码的逆序。 (2)哈夫曼编码-----利用哈夫曼树构造通讯中电文编码(前缀码) 例2:要传输的电文是{CAS;CAT;SAT;AT} 要传输的字符集是 D={C,A,S,T, ;} 每个字符出现的频率是W={ 2,4, 2,3, 3 } 注意:编码的总长度恰好为哈夫曼树的带权路径长。 7.1 图的基本概念 第七章 图 B A C D 6 3 2 1 5 顶点:图中的数据元素 V表示顶点的非空有限集合。 VR表示两个顶点之间关系的集合。 图 有向图 无向图 在有向图中,V1,V3表示从V1到V3的一条弧。 V1为弧尾或初始点,V3为弧头或终端点。

文档评论(0)

000 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档