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

离散数学9.2.ppt

  1. 1、本文档共32页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
离散数学9.2

有向树 一个有向图D,如果略去有向边的方向所得的无向图为一颗无向树,则称D为有向树。 根树 一颗平凡的有向树,如果有一个顶点的入度为0,其余顶点的入度均为1,则称此有向树为根树。入度为0的顶点称为树根;入度为1、出度为0的顶点称为树叶;入度为1、出度大于0的顶点称为内点,内点和树根统称为分支点。 左图为一棵根树。v0为树根,v1,v4,v3,v6,v7为树叶,v2,v5为内点,v0,v2,v5均为分支点。由于在根树中有向边的方向均一致(向下),故可省掉其方向,用右图 代替。 在根树中,从树根到任意顶点v的通路长度称为v的层数,记为l(v).称层数相同的顶点在同一层上。层数最大的顶点的层数称为树高.根树T的树高记为h(T). 家族树 一棵根树可以看成一棵家族树: (1)若顶点a邻接到顶点b,则称b为a的儿子,a为b的父亲; (2)若b,c同为a的儿子,则称b,c为兄弟; (3)若a≠d,而a可达d,则称a为d的祖先,d为a的后代。 根子树 定义设T为一棵根树,a为T中一个顶点,且a不是树根,称a及其后代导出的子图T’为T的以a为根的子树,简称根子树. 定义 如果将根树每一层上的顶点都规定次序,这样的根树称为有序树. 次序可排在顶点处,也可以排在边上。次序常常是从左向右,不一定是连续的. 设T为一棵根树: (1)若T的每个分支点至多有r个儿子,则称T为r元树; (2)若T的每个分支点都恰好有r个儿子,则称T为r元正则树; (3)若r元树T是有序的,则称T是r元有序树 . (4)若r元正则树T是有序的,则称T是r元有序正则树; (5)若T是r元正则树,且所有树叶的层数相同,都等于树高,则称T为r元完全正则树; (6)若r元完全正则树T是有序树,则称T是r元有序完全正则树。 最优2元树 设2元树T有t片树叶,分别带权为w1,w2,···,wi,···,wt(wi为实数,i=1,2,···,t,)称 图9.7 Huffman算法 给定实数w1,w2,···,wt,且w1≤w2≤···≤wt. (1)连接w1,w2为权的两片树叶,得一分支点,其权为w1+w2; (2)在w1+w2,w3,···,wt中选出两个最小的权,连接它们对应的顶点(不一定都是树叶),得分支点及所带的权; (3)重复(2),直到形成t-1个分支点,t片树叶为止. 例9.2 (1)求带权为1,3,4,5,6的最优2元树; (2)求带权为2,3,5,7,8,9的最优2元树. 解 (1)图9.8给出了求带权1,3,4,5,6的最优2元树的过程. (2)由Huffman算法求出的带权为2,3,5,7,8,9的最优树T为图9.9所示. 图9.8 图9.9 前缀 设?=?1,?2 ··· ?n-1,? n为长度是n的符号串,称其子串?1,?1?2,···,?1?2···?n-1分别为?的长度为?1,?2,···,?n-1的前缀. 前缀码 设B={?1,?2,···,?m}为一个符号串集合,若对于任意的?i, ?j?B,i?j,i与j互不为前缀,则称B为前缀码. 若?i(i=1,2,···,m)中只出现2个符号(如0,1),则称? 为2元前缀码. 图9.10 图9.10所示的2元树产生的前缀码为 {11, 00, 011,0100,0101}. 最佳前缀码 当要传输按着一定比例出现的符号时,需要寻找传输它们最省二进制数字的前缀码,这就是最佳前缀码. 例9·3 在通信中,0,1,2,···,7出现的频率如下: 0:30%, 1:20%, 2:15%, 3:10%, 4:10%, 5:5%, 6:5%, 7:5%. 求传输它们的最佳前缀码. 所求2元树T 行遍 对于一棵根树的每个顶点都访问一次且仅一次称为可行遍或周游一棵树. 行遍法 对于2元有序正则树主要有以下3种行遍方法. (1)中序行遍法 其访问次序为:左子树,树根,右子树. (2)前序行遍法 其访问次序为:树根,左子树,右子树. (3)后序行遍法 其访问次序为:左子树,右子树,树根. 图9.12 对于图9.12所示的根树,按中序行遍法,其行遍结果为 ((dce)bf)a(gih). 按前序行遍法行遍结果为 a(b(cde)f)(igh). 按后序行遍法行遍结果为 ((dec)fb)(ghi)a. 例9.4 (1)用2元有序树表示下面算式: ((a+(b*c))*d+e)÷(f*g)

文档评论(0)

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

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

1亿VIP精品文档

相关文档