23根树与其应用.ppt

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

7-8 根树及其应用;一、根树 1、有向树 定义7-8.1 如果一个有向图在不考虑边的方向时是一棵树,那么,该有向图称为 有向树。 ;2、根树 定义7-8.2 一棵有向树,如果恰有一个结点的入度为0,其余所有结点的入度都为1,则称为根树(rooted tree)。入度为0的结点称为T的树根。出度为0的结点称为树叶,出度不为0的结点称为分支点或内点。; 习惯把有向树的根画在最上方,边的箭头全指向下,则可以省略全部箭头,树根到一个结点的有向通路的长度称为该点的层数。所有结点的最大层数称为树高。;3、子树 定义7-8.3:任一结点v及其后代导出的子图称为根树的子树。 ; 在有向树中,结点的出现次序是没有意义的。但实际应用中,有时要给出同一级中结点的相对次序,这便导出有序树的概念。 4、有序树:在根树中规定了每一层上结点的次序,称为有序树。; 为表示结点间的关系,有时借用家族中的术语。 定义 在以v0为根的树中, (1)v1,v2,…,vk称为v0的 儿子,v0称为它们的父亲。vi,vj 同为一顶点v的儿子时,称它们为兄弟。 (2)顶点间的父子关系的传递闭包称为顶点间的祖孙关系。即当vi为vi+1 (i = 1, 2,…, l-1) 的父亲时,v1是vl的祖先,vl为v1的子孙。 (3)根树T自身及以它的树根的子孙为根的根树(T的子图),均称为T的子树(subtree),后者又 称为T的真子树。;5、m叉树 定义7-8.4:在根树中若每个结点的出度均≤m,则称T为m元树(m叉树),若每个分支点的出度恰好等于m,则称T为m叉完全树,若T的所有树叶的层数均相同,则称T正则m元树。 若m元树是有序的,则称T为m元有序树,若m元完全树是有序的则称T为完全m元有序树,若m元正则树是有序的,则称T为m元正则有序树。 当m=2时,称为二元树,二元有序树的每个结点至多有两个儿子,其序按左右分,分别为左儿子,右儿子,任一分支点最多有两棵子树,称为左子树和右子树。; 当m=2时,便可得到常用的二叉树、完全二叉树和正则二叉树。不难看出,二叉树中的每个结点v,至多有两个子树,分别称为v的左子树和右子树。若v只有一个子树,则称它为左子树或右子树均可。在二叉树的图形表示中,v的左子树画在v的左下方,v的右子树画在v的右下方。 ; 有很多实际应用,可用二叉树或m叉树表示。可以指出,按下面算法,任何一棵有序树均能转成二叉树。其算法是: (1) 除最左边的分枝结点外,删去所有从每一个结点长出的分枝。在同一级中,兄弟结点之间用从左到右的弧连接。 (2) 选取直接位于给定结点下面的结点作为左儿子,与给定结点位于同一水平线上且紧靠它的右边结点作为右儿子,如此类推。 上述算法能够推广到有序森林上去。;帘榨卜璃嫩院鸦富城瘪仆醒贩理寡自孵稿狠绽阐恨牧塌升桂孩蝶厩翌眼瑶23根树与其应用23根树与其应用; 6.定理7-8.1 设有完全m叉树,其树叶的数目为t,分支数为i, 则(m-1)×i=t-1。;二、最优树 二叉树的一个重要应用就是最优树问题。给定一组数w1,w2,…,wn。令一棵二叉树有n个叶结点,并对它们分别指派w1,w2,…,wn作为权,则该二叉树称为加权二叉树。; 已知w1,w2,…,wn为权,T0为加权二叉树,其权为w(T0),如果对任意加权二叉树T,它的权是w(T),均有w(T0)≥w(T),则称T0是最优树或Huffman树。 ; 定理7-8.3 设T为带权w1≤w2≤…≤wt的最优树,则 1) 带权w1,w2的树叶,vw1, vw2是兄弟。 2) 以树叶vw1, vw2为儿子的分支点,其通路长度最长。;? 证明思路:根据假设,有 w(T)= w(T’) +w1+ w2 若T’不是最优树, 则必有另一棵带权w1+w2, w3,…, wt的最优树T’’。对T’’中带权w1+w2的树叶vw1+w2生成两个儿子,得到新树T* ,则 w(T*)= w(T’’) +w1+ w2 因为T’’是带权w1+w2, w3,…, wt的最优树,故 w(T’’) ≤ w(T’) 若w(T’’)w(T’),则w(T*)w(T),与T是带权w1, w2,…, wt的最优树矛盾,因此 w(T’’) = w(T’) T’是带权w1+w2, w3,…, wt的最优树。 ?; 根据上述两个定理,求一

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档