网站大量收购独家精品文档,联系QQ:2885784924

《离散数学教学资料》根树及其应用.pptVIP

《离散数学教学资料》根树及其应用.ppt

  1. 1、本文档共14页,可阅读全部内容。
  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文档。上传文档
查看更多
第八节 根树及其应用 有向树 – 根树 P328-定义7-8.1 8.2 基图为无向树的有向图称为有向树 根树:若一棵有向树中,有一个顶点入度为0,其余的顶点入度均为1,则称该树为根树 树根: 入度为0的顶点称为树根 树叶:入度为1出度为0的顶点称为树叶 内点:入度为1,出度不为0的顶点称为内点。内点和树根统称为分支点。 层数:从树根到任一顶点v的通路长度为顶点v的层数 树高:最大层数称为树高 有向树 – 根树 祖先:若顶点v可达顶点w,则称v为w的祖先,w是v的后代 父亲:若存在边(v, w),则称v为w的父亲,w是v的儿子。 兄弟:若两个顶点有相同的父亲,则互称为兄弟。 有序树:顶点之间都有顺序(序号),则称为有序树 9 7 4 2 1 3 5 6 8 10 r叉树 P329-定义7-8.4 r叉树: 每个顶点最多有r个儿子的树 r叉正则树:每个顶点都有r个儿子 r叉完全正则树:对于一个正则树,若其中每个树叶的层数均为树高, 则该树称为r叉完全正则树。 2叉树 完全二叉树,边与叶结点的数量关系。 可以按照一定规则将任意根树转化为2叉树 P330 二叉树的遍历 \\\\\\\\\\\\\\\\\\\\\ 2叉正则有序树的遍历: 中序遍历:先左子树,再树根,再右子树 前序遍历:先树根,再左子树,再右子树 后序遍历:先左子树,再右子树,再树根 a b d e g c f h j i 中序: d b I g j e h a c f 前序: a b d e g I j h c f 后序: d I j g h e b f c a 四则运算与二叉树 由于四则运算均为二元运算,所以可以将四则运算存储于二叉树中。 其中,分支点存储运算符号,树叶存储数字 ? ? ? ? - + + + a b c d e f g h i j ? 按照中序遍历树可以还原算式, 称为中缀法,相应的还有前缀 法(波兰式),和后缀法(逆 波兰式)。 中缀: ((a?(b+c))?d-e)?(f+g)?(h?(i+j)) 前缀(波兰): ??-??a+bcde+fg?h+ij 后缀(逆波兰): abc+?d?e-fg+?hij+?? 前缀码 为 0,1,2,3… 7 用二进制编码 1. 最简单的编码:000,001,010… 111 000111010101译为0725 不等长的编码可以提高码率,既可以减少基础码量,也可以为高频词分配短码。 例如: 0, 1, 00, 01, 10, 11, 000, 001 问题:若收到000111, 不能唯一解码: 651, 235, 075,…等。原因是码字互为前缀, 如00是001的前缀 利用二叉树构造前缀码 前缀码: 码字互相不为前缀的不等长编码 前缀码与二叉树对应 例:{0,1,2,3}编码为 {00,010,011,1} 收到000111,译为 023 0 0 0 1 1 1 00 010 011 1 最佳前缀码 最佳前缀码: 给定信号出现频率, 平均码字长度最短的前缀码 平均码字长度: 码字长度乘以频率,求和 例: {0,1,2,3}, 40%, 30%, 20%,10%, 编码1: {00,010,011,1}, 2?40%+3?30%+3?20%+1?10%=2.4 编码2: {1,00,010,011}, 1?40%+2?30%+3?20%+3?10%=1.9 最优二叉树 带权二叉树: 每个树叶vi都指定实数权wi 带权二叉树的权: W(T)=?ti=1wiL(vi), 树叶是v1,v2,…,vt, 对应的层数是L(v1),L(v2),…, L(vt) 最优二叉树: 树叶权为w1,w2,…,wt的所有二叉树中权最小的一个(不唯一) 求最优二叉树的算法: Huffman算法 Huffman算法 输入: 实数w1,w2,…,wt, 输出: 树叶权为w1,w2,…,wt的最优二叉树 算法: 1. 选择最小的2个权w1,w2, 连接对应的树叶得到权为w1+w2的分支点 2. 选择w1+w2 ,w3,w4, …,wt中最小的2个权, 连接对应顶点得到新的分支点和权 3. 同上重复进行, 直到只剩1个权为止 Huffman算法(举例) 例14.9: 2,3,5,7,8 解: 2,3,5,7,8 // 5,5,7,8 // 10,7,8 // 10,15 // 25 // 25 10 15 7 8 5 5 2 3 W(T)=55 根树,层数,树高 祖先,后代,父亲,儿子,兄弟,有序树 r叉树,r叉正则树,r叉完全正则树 将任意根树转化为二

文档评论(0)

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

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

1亿VIP精品文档

相关文档