![离散数学及其应用课件:树_第1页](http://file4.renrendoc.com/view10/M03/19/16/wKhkGWW5bWGAA9NNAACVpphF5x4990.jpg)
![离散数学及其应用课件:树_第2页](http://file4.renrendoc.com/view10/M03/19/16/wKhkGWW5bWGAA9NNAACVpphF5x49902.jpg)
![离散数学及其应用课件:树_第3页](http://file4.renrendoc.com/view10/M03/19/16/wKhkGWW5bWGAA9NNAACVpphF5x49903.jpg)
![离散数学及其应用课件:树_第4页](http://file4.renrendoc.com/view10/M03/19/16/wKhkGWW5bWGAA9NNAACVpphF5x49904.jpg)
![离散数学及其应用课件:树_第5页](http://file4.renrendoc.com/view10/M03/19/16/wKhkGWW5bWGAA9NNAACVpphF5x49905.jpg)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
树7.1无向树及生成树7.2根树及其应用
7.1无向树及生成树
7.1.1无向树定义7.1连通而不含回路的无向图称为无向树(UndirectedTree),简称树(Tree)。树一定是简单图,常用T表示树。图7-1给出了具有7个顶点的所有互不同构的树。图7-1不同构的树
(1)连通分支数大于等于2,且每个连通分支均是树的非连通无向图称为森林(Forest)。
(2)平凡图称为平凡树(OrdinaryTree),即只有一个顶点的树。
(3)设T=<V,E>为一棵无向树,v∈V,若d(v)=1,则称v为T的树叶(Leaf)。若d(v)>1,则称v为T的分支点(BranchPoint)。
定理7.1设G=<V,E>是n阶无向图,G中有m条边,则下面关于G是树的命题是等价的:
(1)G连通而不含回路;
(2)G的每对顶点之间具有唯一的一条路径;
(3)G中无回路且n=m+1;
(4)G是连通的且n=m+1;
(5)G中无回路,但在G中任意两个不相邻的顶点之间增加一条边,就形成唯一的一条初级回路;
(6)G是连通的且G中每条边都是桥;
(7)G是连通的,但删除任何G=<V,E>一条边后,就不连通了。
证明(1)根据无向树的定义,(1)是显然的。
(2)根据(1)推证(2)。
由G的连通性及定理5.5的推论可知,∀u,v∈V,u与v之间存在一条路径。若路径不是唯一的,设T1和T2都是u到v的路径,则必定存在由T1和T2上的边构成的回路,这与G中无回路矛盾。
例7.1图7-2所示的无向图:图(a)是一棵树,其中b、c、d是树叶,a、e是分支点;图(b)是一棵树,其中b、c、e是树叶,a、d是分支点;图(c)不是树,因为a、e、d、c、a是这个图中的简单回路;图(d)不是树,因为它不连通。图7-2无向图
例7.2设T是一棵树,它有三个2度结点,两个3度结点,一个4度结点,求T的树叶数。
例7.3如图7-3所示,图(b)为图(a)的一棵生成树T,图(c)为T的余树。
注意余树不一定是树。
考虑生成树图(b),可知e1、e2、e3、e4是图(b)的树枝,e5、e6、e7、e8是图(b)的弦,集合{e5,e6,e7,e8}是图(b)的补。生成树在生活中有一定的实际意义。图7-3生成树及余树
例7.4某地区需建筑6个水塔,并且这6个水塔间都有道路相通,那么至少要修筑几条道路?
解此问题实际上是求G的生成树的边数的问题。
通常情况下,假设连通图G有n个结点,m条边。由树的性质可知,T有n个结点,n-1条树枝,m-n+1条弦。
问题中n=6,则有n-1=6-1=5,所以至少要修筑5条路才行。
定理7.3无向图G具有生成树当且仅当G是连通的。
证明(1)必要性。
如果G不连通,则它的任何生成子图也不连通,因此不可能有生成树,与G有生成树矛盾,故G是连通图。
(2)充分性。
推论1设n阶无向连通图G有m条边,则m≥n-1。
推论2设n阶无向连通图G有m条边,T是G的生成树,T'是T的余树,则T'中有m-n+1条边。
2.基本回路和基本割集
例7.5图7-4中图G的生成树,实线边所构成的子图是G的一棵生成树T,求T对应的基本回路和基本回路系统,以及基本割集和基本割集系统。图7-4图G的生成树
7.1.3最小生成树
定义7.5设无向连通带权图G=<V,E,W>,T是G的一棵生成树。各边带权之和称为T的权(Weight),记作W(T)。G的所有生成树中带权最小的生成树称为最小生成树(MinimalSpanningTree)。
最小生成树在实际生活中有许多重要应用。比如建设城市与城市之间的交通网络,每两个城市之间都有直达道路的造价,如果设计一个总造价最小值的交通网络,就是求最小生成树。
最小生成树求解算法———Prim算法:
(1)在G中任意选取一个结点v1,并置U={v1},置最小生成树的边集TE=⌀。
(2)令u∈U,v∈V-U的边(u,v)∈E中,选取权值最小的边(u,v),将(u,v)并入TE中,同时将v并入U。
(3)重复(2),直到U=V为止。
例7.6求图7-5(a)所示有权图的最小生成树。图7-5最小生成树的构造过程
解因为图7-5(a)中n=6,所以按算法要执行n-1=5次。第一步给所有的边按照从小到大的顺序排序,即选边的顺序为ab(0.5),ae(1),ao(1.5),ed(2),bc(2.5),cd(3),od(3.5),ac(4),oe(5),oc(6)。第二步选择权最小的边加入TE,循环执行此步,直到构成最小生成树为止。其构造最小生成树的过程如图7-5(b)~(f)所示。T的权为W(T)=0.5+1+1.5+2+3=8。
例7.7-分别用Kruskal算法和Prim算法求图7-6中所示带权图的最小生成树。图7-6一个带权图
解(1)图7-7显示了这个最小生成树和在Kruskal算法中每个阶段上对边的选择过程。
(2)图7-8显示了这个最小生成树和在Prim算法中每个阶段上对边的选择过程。
从例7.7中可以看出Kruskal算法和Prim算法的区别。在Kruskal算法里,为了让每一步过程是确定的,首先对边排序,选择边不一定与已在树里的一个顶点相关联并且不形成回路的权最小的边。而在Prim算法里,没有对边排序,在选择边的过程中,对添加的边可能有多于一种的选择,只要选择与已在树里的一个顶点相关联并且不形成回路的权最小的边即可。图7-7-用Kruskal算法构造的最小生成树图7-8用Prim算法构造的最小生成树
最小生成树算法都是贪心算法的例子。贪心算法是在每一步骤上都做最优选择的算法,而不考虑下次如何选择。这种方式称作“局部最优”。但是算法的每一步都是最优,并不一定产生的是全局最优解。
如果将算法用在如图7-9所示的有权图中由a到d的最短路径,将会选择(a,b)和(b,d),但这并不是从a到d的最短路径,因为从a到d的最短路径是(a,c,d)。图7-9有权图的最短路径
7.2根树及其应用
7.2.1根树的概念定义7.6一个有向图D,如果略去有向边的方向所得的无向图为一棵无向树,则称D为有向树。换句话说,若有向图的基图是无向树,那么这个有向图为有向树。入度为0的顶点称为树根(Root),入度为1且出度为0的顶点称为树叶;入度为1且出度大于0的顶点称为内点。内点和树根统称为分支点。有一种特殊结构的有向树叫根树。
定义7.7-一棵非平凡的有向树,如果有一个顶点的入度为0,其余顶点的入度均为1,则称此有向树为根树(RootTree)。在根树中,从树根到任意顶点v的通路长度称为v的层数,记为l(v)。层数相同的顶点在同一层上,层数最大的顶点的层数称为树高。根树T的树高记为h(T)。
例7.8图7-10(a)、(b)、(c)、(d)均为有向树,其中只有图(c)和图(d)为根树。在根树图(d)中,a为树根,b、d、e为分支点,其余结点均为树叶。图7-10有向树
习惯上把根树的根画在上方,叶画在下方,这样就可以省去根树的箭头,如图(d)的根树可以用图(e)表示。
在根树中,称从树根到结点v的距离为该点的层次。在图7-10所示的根树(e)中,a的层次为0,b、d的层次为1,g、c、e、f的层次均为2,而h和i的层次为3。
一棵根树可以看成一棵家族树,如图7-11所示:
(1)若顶点a邻接到顶点b,则称b为a的儿子,a为b的父亲;
(2)若b,d同为a的儿子,则称b,d为兄弟;
(3)若a≠c,而a可达c,则称a为c的祖先,c为a的后代。图7-11家族树
定义7.8设T为一棵根树,v为T中一个结点,且v不是树根,称v及其后代导出的子图T'为T的以v为根的子树,简称根子树。
例7.9在图7-12(a)所示的根树里(有根a),求g的父母,d的子女,f的兄弟,m的所有祖先,b的所有后代,所有内点以及所有树叶,并画出根在d处的子树。
解g的父母是b。d的子女是e。f的兄弟是h和i。m的所有祖先是g、b、a。b的所有后代是g、k、m。内点是a、b、g、c、d和e。树叶是k、m、j、h、f和i。根在d处的子
树如图7-12(b)所示。图7-12根树T及根在d处的子树
7.2.2二叉树
1.二叉树的概念
定义7.9设T为一棵根树,若T的每个分支点至多有r个儿子,则称T为r叉树;若r叉树T的每一层顶点都有规定的次序,则称T是r叉有序树;若T的每个分支点都恰好有r个儿子,则称T为r叉正则树;若r叉正则树T是有序的,则称T是r叉有序正则树;若T是r叉正则树,且所有树叶的层数相同,都等于树高,则称T为r叉完全正则树;若r叉完全正则树T是有序树,则称T是r叉有序完全正则树。
当r=2时,我们可以类似地给出二叉树、二叉正则树、二叉有序树、二叉有序正则树、二叉完全正则树、二叉有序完全正则树的概念。二叉树是使用最为广泛的r叉树。
例7.10图7-13所示树中,图(a)是一棵二叉树;图(b)是一棵二叉正则树;图(c)是一棵三叉树;图(d)是一棵三叉完全正则树。图7-13二叉树
例7.11计算机中存储的文件目录,目录可以包含子目录和文件。图7-14用多叉树表示一个文件系统。C表示根目录,可以表示成根树,内点表示子目录,树叶表示文件或空目录。图7-14多叉树表示的文件系统
2.二叉树的遍历
定义7.10对于一棵根树的每个结点都访问一次且仅一次称为行遍或周游一棵树。
对于二叉有序正则树主要有以下3种遍历算法。
(1)中序遍历算法。若二叉树非空,则依次执行如下操作:
①在根的左子树上执行中序遍历算法;
②访问根结点;
③在根的右子树上执行中序遍历算法。
(2)前序遍历算法。若二叉树非空,则依次执行如下操作:
①访问根结点;
②在根的左子树上执行前序遍历算法;
③在根的右子树上执行前序遍历算法。
(3)后序遍历算法。若二叉树非空,则依次执行如下操作:
①在根的左子树上执行后序遍历算法;
②在根的右子树上执行后序遍历算法;
③访问根结点。
例7.12假设有算术表达式
(1)用二叉有序正则树表示。
(2)用3种方法遍历此树,写出遍历结果。
解(1)该算术表达式的二叉有序正则树表示如图7-15所示。图7-15二叉有序正则树
3.二叉搜索树
计算机科学的一项重要任务就是在列表里搜索一些项。这个任务可以使用二叉搜索树算法来完成。二叉搜索树是一种二叉树,其中任何结点的每个子女都指定为左子女或右子
女,每个结点都用一个关键字来标记,同时要求结点的关键字不仅大于它的左子树里的所有结点的关键字,而且小于它的右子树里的所有结点的关键字。
例7.13构造下面的一组词的二叉搜索树(按字母顺序):
解可以放在如图7-16所示给定单词的二叉搜索树上,对于任意结点v来说,v的左子树的任意数据项都比v中的数据项小(依据字母表顺序),而v的右子树的任意数据项都比v中的数据项大。图7-16给定单词二叉搜索树图7-16给定单词二叉搜索树
7.2.3最优二叉树及其应用
1.哈夫曼树
例7.14计算图7-17所示带权二叉树的权值。图7-17-带权二叉树
解图7-17所示带权二叉树的权值分别为
常用哈夫曼(Huffman)算法构造最优二叉树。通常称哈夫曼算法构造的最优二叉树为哈夫曼树。
例7.15求带权5、9、11、12、16、18的最优二叉树。
解图7-18给出了所给权值的哈
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- Unit3 Weather A let's learn(说课稿)-2023-2024学年人教PEP版英语四年级下册001
- 2025写场地租赁合同范文
- 2025工程建设招标投标合同履约银行保证书
- Unit 1 Playtime Lesson 3(说课稿)-2023-2024学年人教新起点版英语二年级下册
- 2023九年级历史下册 第一单元 殖民地人民的反抗与资本主义制度的扩展第3课 美国内战说课稿 新人教版
- 2025泵车租赁合同
- 2024-2025学年高中历史 专题二 近代中国资本主义的曲折发展 2.1 近代中国民族工业的兴起说课稿1 人民版必修2
- 蔬菜物资发放方案
- 养生馆前台合同范例
- 代理经营店铺合同范例
- 教学的模样读书分享
- 老年髋部骨折患者围术期下肢深静脉血栓基础预防专家共识(2024版)解读 课件
- 江苏省无锡市2024年中考语文试卷【附答案】
- 五年级上册小数脱式计算200道及答案
- 2024年秋新沪科版物理八年级上册 第二节 测量:物体的质量 教学课件
- 直播带货基本操作流程(直播带货流程完整版)
- 2024义务教育英语课程标准2022版考试题库附含答案
- 多旋翼无人机驾驶员执照(CAAC)备考试题库大全-下部分
- 浙教版七年级上册数学第4章代数式单元测试卷(含答案)
- 七年级下册第六章《人体生命活动的调节》作业设计
- 特种设备使用单位日管控、周排查、月调度示范表
评论
0/150
提交评论