十章节树与有序树.ppt
《十章节树与有序树.ppt》由会员分享,可在线阅读,更多相关《十章节树与有序树.ppt(54页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、十章节树与有序树 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望家谱PeterGodfriedBettyAlbertMaryMarivinDorisJudyHalDeniseGregory一般假定在孩子是按年龄排序的一般假定在孩子是按年龄排序的,则这种树是有序的。则这种树是有序的。2语法树语法树“The big elephant ate the peanut”语法图解如下:语法图解如下:3有向树定义定义1 一个有向图,若去掉边的方向,所得无向图一个有向图,若去掉边
2、的方向,所得无向图是一棵树,则称这个有向图为有向树。是一棵树,则称这个有向图为有向树。(a)(b)例例 两个有向树的例子。两个有向树的例子。今后只讨论今后只讨论(b)这样的所谓的这样的所谓的“根树根树”有一个根的树。有一个根的树。4根树根树设设T=(V,E)是一棵有向树,若仅有一个顶点的入度为是一棵有向树,若仅有一个顶点的入度为0,其余的顶点的入度均为其余的顶点的入度均为1,这样一棵有向树我们称为,这样一棵有向树我们称为根根树树。u入度为入度为0的顶点称为的顶点称为树根树根,u出度为出度为0的顶点称为的顶点称为树叶树叶,u出度不为出度不为0的顶点称为的顶点称为分枝点分枝点。例例abcdeabc
3、de5例 画出4阶所有非同构的根树 树根树6例 画出5阶所有非同构的根树 树根树7父亲、儿子、祖先、后代、兄弟父亲、儿子、祖先、后代、兄弟设设T=(V,E)是一棵根树。是一棵根树。u如果如果e=(v,u)E,称,称v是是u的的父父亲亲,u是是v的的儿子儿子。u对对v1,v2V,若存在一条从,若存在一条从v1到到v2的通路,则称的通路,则称v1是是 v2的的祖先祖先,v2是是v1的的后代后代。u若若(v0,v1),(v0,v2)E,说,说v1与与v2是是兄弟兄弟。a ab be ed di in nm m8子树设设T=(V,E)是一棵根树。是一棵根树。uv0V,v0是是 中一个分支点中一个分支点
4、,所谓所谓以以v0为根的子树为根的子树是指是指T的的一个子图一个子图T,T 以以v0和和v0的的全部的后代为顶点,以从全部的后代为顶点,以从v0出发的所有通路经过的边为出发的所有通路经过的边为边。边。u以以v0的一个儿子为根的子树的一个儿子为根的子树称为称为v0的子树的子树。a ab be ed di in nm m9例例 试回答问题l哪个是树根哪个是树根?l哪些是树叶哪些是树叶?l哪个是哪个是e的父亲的父亲?l哪些是哪些是e的祖先的祖先?l哪些是哪些是e的儿子的儿子?l哪些是哪些是e的后代的后代?l哪些是哪些是e的兄弟的兄弟?l哪些是哪些是e的子树的子树?a ac cb be ed df f
5、h hg gi il lk kj jn nm m10有序树定义定义2 一棵根树,若每一个分枝点出发的边,一棵根树,若每一个分枝点出发的边,分别标以整数分别标以整数1,2,k。则称这样的根树为有序树。则称这样的根树为有序树。有序树可以说是各子树从左到右是有次序的树有序树可以说是各子树从左到右是有次序的树句子句子主语主语谓语谓语形容词形容词冠词冠词名词名词The big elephant ate the peanut例例11例例需要说明的是,一棵有序树的每个分枝点出发的边的需要说明的是,一棵有序树的每个分枝点出发的边的标号并不是要求是连续的。一个分枝点出发的边,若标号并不是要求是连续的。一个分枝点
6、出发的边,若被标上被标上i,则称这条边是这个分枝点的,则称这条边是这个分枝点的 i子树子树。如上图,一个分枝点出发的两条边被分别标上如上图,一个分枝点出发的两条边被分别标上1,3,我们说这个分枝点没有第我们说这个分枝点没有第2子树。子树。句子句子主语主语谓语谓语形容词形容词冠词冠词名词名词The elephant ate the peanut1312m分树、正则分树、正则m分树分树如果一棵有序树的每个分枝点最多有如果一棵有序树的每个分枝点最多有 m个儿个儿子,称这棵有序树为子,称这棵有序树为 m分树分树。若一棵若一棵 m分树的每一个分枝点恰好有分树的每一个分枝点恰好有m 个个儿子,称这样的儿子
7、,称这样的 m分树为分树为正则正则m分树分树。132分树分树:左子树、右子树左子树、右子树对于对于2分树,它的每一个分枝点的第一个子树和第二分树,它的每一个分枝点的第一个子树和第二子树又分别叫子树又分别叫左子树左子树和和右子树右子树。例例 单淘汰赛的正则单淘汰赛的正则2-分树分树 14定理定理9 一棵正则一棵正则m分树的分枝点的个数为分树的分枝点的个数为i,树叶的个数,树叶的个数为为t,则有,则有 (m-1)i=t-1证明:总共有证明:总共有 i个分枝点,每个分枝点有个分枝点,每个分枝点有 m个儿子,个儿子,故总的儿子数目为故总的儿子数目为 mi。而所有的儿子包括全。而所有的儿子包括全部顶点减
8、去一个根,即为部顶点减去一个根,即为 i+t-1,所以有:,所以有:mi=i+t-1即为即为 (m-1)i=t-1。15例5 用带用带4个插座的接线板,连接个插座的接线板,连接19个灯到一个总插座上,个灯到一个总插座上,问至少需要多少块接线板。问至少需要多少块接线板。解:任何一个连接方法都是一棵解:任何一个连接方法都是一棵4分树,分树,按定理按定理9中公式,有中公式,有 (4-1)i 191,所以所以 i616树形图的高度、顶点的路长树形图的高度、顶点的路长在一棵树形图中,在一棵树形图中,n一个顶点的路长规定为从树根到这个顶点的通路一个顶点的路长规定为从树根到这个顶点的通路的长。的长。n一棵树
9、形图的高度即为该树中最长路的长度。一棵树形图的高度即为该树中最长路的长度。在一棵树形图中从树根到每一个顶点有且仅有唯一的在一棵树形图中从树根到每一个顶点有且仅有唯一的一条通路。一条通路。17高为高为h的正则的正则m分树分树 至少有至少有m+(m-1)(h-1)片树叶片树叶,最多有最多有mh片树叶。片树叶。18例 求证一棵正则一棵正则2分树必有奇数个顶点。分树必有奇数个顶点。证明证明:假设一棵正则假设一棵正则2分树有分树有 i个分枝点、个分枝点、t个树叶。个树叶。每个分枝点有每个分枝点有 2个儿子,故总的儿子数目为个儿子,故总的儿子数目为 2i。而所有的儿子包括全部顶点减去一个根,所。而所有的儿
10、子包括全部顶点减去一个根,所以有:以有:2i=i+t-1即为即为i=t-1。从而全部顶点数目为从而全部顶点数目为 i+t=(t-1)+t=2t-1显然显然,它是一个奇数,结论得证明。它是一个奇数,结论得证明。19例 设一棵正则一棵正则2分树的顶点个数为分树的顶点个数为n,则它的树叶个数为:则它的树叶个数为:20例 有8枚硬币,其中恰有1枚是假币,假币比真币重。试用一架天平称出假币,使称量的次数尽可能地少。21例有8枚硬币,其中可能有1枚是假币(但假币不多于1枚),假币与真币重量不等。试用一架天平来称量,3次称出假币或断言假币不存在,请用根树表示你的称量策略。22例例 数学表达式的二分树数学表达
11、式的二分树(二叉树二叉树)以二叉树表示数学表达式的递归定义:以二叉树表示数学表达式的递归定义:若表达式若表达式=(第一表达式第一表达式)(运算符运算符)(第二表达式第二表达式),则则 以左子树表示第一表达式以左子树表示第一表达式 以右子树表示第二表达式以右子树表示第二表达式 根结点的数据库存放运算符根结点的数据库存放运算符+*/c cd da ab b(a*b)+(c/d)+d d+c ca ab b(a+b)+c)+d23第十章 树与有序树10.1 树的基本概念树的基本概念10.2 连通图的生成树和带权连通图的连通图的生成树和带权连通图的最小生成树最小生成树 10.3 有序树有序树10.4
12、前缀码和最优二分树前缀码和最优二分树 24英文的编码通信英文的编码通信英文的编码通信中,考察用英文的编码通信中,考察用0和和1来表示英文字母的问来表示英文字母的问题,因为字母表中的题,因为字母表中的26个字母必须用个字母必须用0和和1组成的序列组成的序列来表示,故它们可以用长度为来表示,故它们可以用长度为5位位(因因 242625)的序列的序列表示出来。表示出来。要传递一条信息,我们只要传递用来表示消息而组成要传递一条信息,我们只要传递用来表示消息而组成字母序列的一个字母序列的一个0、1字符串即可。在接收端,把这一字符串即可。在接收端,把这一0、1字符串分为长度为字符串分为长度为5位的序列,而
13、这些序列对应的位的序列,而这些序列对应的字母就可以识别出来。字母就可以识别出来。25英文字母使用频数英文字母使用频数26数串划分问题数串划分问题当用各种不同长度的序列来表示字母时,在接收端,当用各种不同长度的序列来表示字母时,在接收端,就存在如何把一个就存在如何把一个0、1的数串划分为对应字母序列的数串划分为对应字母序列的问题?的问题?例如,如果例如,如果 00=e 01=t 0001=w 那么那么 0001=?27前缀码前缀码序列序列 a1a2am 是序列是序列 b1b2bmbm+1bn的的前缀前缀,如果,如果 a1a2am=b1b2bm。对于序列的一个集合来说,若这个集合中的任何序列对于序
14、列的一个集合来说,若这个集合中的任何序列都不是另一个序列的前缀,则这个集合称为都不是另一个序列的前缀,则这个集合称为前缀码前缀码。例例 000,001,01,10,11 是一个前缀码是一个前缀码 1,00,01,000,0001 不是一个前缀码不是一个前缀码 0001=00+01?0001=000+1?0001=0001?282分树分树 前缀码前缀码由任何一棵由任何一棵2分树可以得到一个前缀码,且对应一分树可以得到一个前缀码,且对应一个前缀码也一定存在一棵相应的个前缀码也一定存在一棵相应的2-分树。分树。例例 10,001,010,011,110 为一个前缀码。为一个前缀码。29前缀码前缀码
15、2分树分树例例 前缀码前缀码01,10,001,110 所对应的一棵所对应的一棵2分树。分树。001 110 10 01 (b)000 00 1 010 011 100 101 110 111 0 0 0 0 00 0 0 0 1 1 1 1 11 10 1 1 1 0 01 (a)30字符串 前缀码中的码字例例:已知前缀码如下图已知前缀码如下图试划分下述字符串试划分下述字符串:1100100011001000111031一段英文所用的字符串的平均长度一段英文所用的字符串的平均长度假设在假设在N个英文字母组成的短文中,英文第个英文字母组成的短文中,英文第 i个字母个字母出现的频率是出现的频率是
16、 wi次,而第次,而第 i个字母用个字母用Li长的长的0和和1序列序列来表示,则来表示,则N个英文字母组成的一段英文所用的字符个英文字母组成的一段英文所用的字符串的平均长度为串的平均长度为 322分树的分树的叶子叶子权权假如我们有一组权假如我们有一组权w w1 1,w,w2 2,w,wn n。不失一般性,。不失一般性,设设 0 0w w1 1w w2 2 w wn n一棵有一棵有n n片叶子的片叶子的2 2分树,如果分配给它的叶分树,如果分配给它的叶子的权分别为子的权分别为w w1 1,w,w2 2,w,wn n,则这棵则这棵2 2分树称为分树称为叶子权为叶子权为 w w1 1,w,w2 2,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 章节 有序
限制150内