离散数学第十一章 树
离散数学中的图的树与生成树的计数

在离散数学中,图是一个由点和边组成的抽象数学模型。
其中,树是一种特殊的图,它是一个无环连通图。
在图论中,树扮演了重要的角色,它具有许多有趣的性质和应用。
而生成树则是树的一个特殊子集,它由给定图中的所有顶点和部分边构成。
本文将介绍图的树的基本概念,并探讨生成树的计数方法。
首先,让我们来看看图的树。
树是一种无环连通图,其中任意两个顶点之间存在唯一一条路径。
它具有以下性质:1.n个顶点的树有n-1条边。
这可以通过归纳法证明:当n=1时,结论成立;假设n=k时成立,那么n=k+1时,只需要添加一个顶点和一条边,即可构成n=k+1个顶点的树。
因此,结论成立。
2.连接树上任意两个顶点的边都是桥。
即如果一条边被删除,那么树就会变成两个或更多个不相连的子树。
3.树是一个高度平衡的结构。
对于一个n个顶点的树,任意两个叶子结点之间的路径长度至多相差1。
4.树的任意两个顶点之间有唯一一条路径,路径长度为顶点之间的边数。
接下来,让我们来讨论生成树的计数方法。
生成树是树的一个特殊子集,它是由给定图中的所有顶点和部分边构成。
生成树的计数在图论中具有重要的意义和应用。
对于一个具有n个顶点的连通图来说,其生成树的个数可以通过Cayley公式计算得到。
Cayley公式是由亚瑟·凯利于1889年提出的,它给出了完全图的生成树数目。
据此,我们可以得到生成树的计数公式为:T = n^(n-2),其中T表示生成树的个数。
此外,还有一种常见的计数方法是基于度数矩阵和邻接矩阵的矩阵树定理。
矩阵树定理由高斯于1847年提出,它提供了一种计算图的生成树个数的方法。
根据矩阵树定理,一个无向图G的生成树数目等于该图度数矩阵的任意一个(n-1)阶主子式的行列式的值。
其中,度数矩阵是一个对角矩阵,它的对角线上的元素为各个顶点的度数。
邻接矩阵则是一个关于顶点间连接关系的矩阵,其中1表示相邻顶点之间存在边,0表示不存在边。
除了数学方法,还存在一种基于图的遍历的计数方法,称为Kirchhoff矩阵树定理。
离散数学中的生成树与生成树计数

离散数学是计算机科学中的重要学科,其中生成树是一个重要的概念。
在图论中,生成树是一棵树,它包含了图中的所有顶点,并且是由图边组成的无环连通子图。
生成树在图论中有着重要的应用,特别是在计算机网络、运筹学和电路设计等领域。
生成树的概念与基础就是组成它的边是有限的,并且连接图中的所有顶点,但没有形成圈回到起点。
生成树通常是用来描述一个系统的最小连接方式。
生成树可以应用于计算机网络的设计中,用于构建最小生成树算法,以便在网络中选择最小的数据传输路径。
此外,在运筹学中,生成树被用于求解最小生成树问题,即为一个加权图找到一棵包含所有顶点的生成树,使得树中边的权重之和最小。
在离散数学中,生成树计数是一个重要的研究分支。
生成树计数是指对给定图,计算其生成树的数目。
生成树计数的问题可以通过使用基于图论和组合数学的算法来解决。
通常,生成树计数的问题与相应图的特性和性质密切相关。
对于一个简单图来说,如果图中任意两点之间至少有一条边,那么该图一定存在生成树。
对于有 n 个顶点的连通图来说,它的生成树数量可以通过Cayley公式计算得到。
Cayley公式表明,一个有 n 个标号的顶点的完全图的生成树数量等于 n^(n-2)。
而对于非完全图,生成树的计数问题则较为困难。
在处理非完全图的生成树计数问题时,可以使用基于递归和动态规划的算法来解决。
一个常见的方法是使用Kirchhoff矩阵树定理,它将生成树计数的问题转化为计算矩阵的行列式的问题。
Kirchhoff矩阵树定理提供了一种计算给定图的生成树数目的有效算法,通过计算图的基尔霍夫矢量的一个特征值,可以得到图的生成树的数目。
另一个常见的方法是使用Prufer编码,它是一个用于描述无环连通图的序列。
通过Prufer编码,我们可以将计算生成树的问题转化为计数树的问题。
通过对无向图进行Prufer编码,我们可以计算出生成树的数目,并且可以根据生成树的数目来确定该无向图的种类和特征。
离散数学 求生成树的个数

在离散数学中,生成树(Spanning Tree)是一个图(Graph)的子图,它包含图中的所有顶点,并且是一个树(Tree)。
生成树的一个重要性质是它不包含任何环(Cycle)。
求一个给定图的生成树个数是一个经典问题,通常使用矩阵树定理(Matrix Tree Theorem)来解决。
矩阵树定理给出了一个图的生成树个数的计算公式,它基于图的拉普拉斯矩阵(Laplacian Matrix)的行列式。
拉普拉斯矩阵是一个方阵,其大小为图的顶点数,矩阵的元素定义如下:•如果i和j是不同的顶点,则矩阵的第i行第j列的元素是顶点i和j之间的边的权重(如果存在边的话),否则是0。
•对于每个顶点i,矩阵的第i行第i列的元素是顶点i的度(即与顶点i相邻的边的数量)的负值。
矩阵树定理指出,图的生成树个数等于其拉普拉斯矩阵的任何一个n-1阶主子式的行列式值的绝对值。
n是图的顶点数,n-1阶主子式意味着去掉矩阵中的一行和一列后得到的矩阵。
下面是一个简单的例子,说明如何使用矩阵树定理计算生成树的个数:假设有一个包含4个顶点的简单图,其边和权重如下:A -- 2 -- B| |1 3 1| |C -- 4 -- D1 -3 1 00 1 -3 40 0 1 -4主子式的行列式值。
去掉第一行和第一列后,我们得到:1 01 -3 40 1 -4x3矩阵的行列式,我们得到:1 * 1) - (0 * 0) = 12 - 1 = 11过程可能涉及复杂的行列式计算,特别是对于大型图来说。
在实际应用中,通常会使用专门的数学软件或库(如Python中的NumPy或SciPy)来进行这些计算。
此外,还有一些算法(如Kruskal算法和Prim算法)可以用来构造生成树,但它们并不直接计算生成树的总数。
这些算法通常用于找到图的一个生成树,而不是计算所有可能的生成树的数量。
离散数学知识点总结

离散数学知识点总结总结离散数学知识点第二章命题逻辑1.→,前键为真,后键为假才为假;,相同为真,别同为假;2.主析取范式:极小项(m)之和;主合取范式:极大项(M)之积;3.求极小项时,命题变元的确信为1,否定为0,求极大项时相反;4.求极大极小项时,每个变元或变元的否定只能浮现一次,求极小项时变元别够合取真,求极大项时变元别够析取假;5.求范式时,为保证编码别错,命题变元最好按P,Q,R的顺序依次写;6.真值表中值为1的项为极小项,值为0的项为极大项;7.n个变元共有n2个极小项或极大项,这n2为(0~n2-1)刚好为化简完后的主析取加主合取;8.永真式没有主合取范式,永假式没有主析取范式;9.推证蕴含式的办法(=>):真值表法;分析法(假定前键为真推出后键为真,假定前键为假推出后键也为假)10.命题逻辑的推理演算办法:P规则,T规则①真值表法;②直截了当证法;③归谬法;④附加前提法;第三章谓词逻辑1.一元谓词:谓词惟独一具个体,一元谓词描述命题的性质;多元谓词:谓词有n个个体,多元谓词描述个体之间的关系;2.全称量词用蕴含→,存在量词用合取^;3.既有存在又有全称量词时,先消存在量词,再消全称量词;第四章集合1.N,表示自然数集,1,2,3……,别包括0;2.基:集合A中别同元素的个数,|A|;3.幂集:给定集合A,以集合A的所有子集为元素组成的集合,P(A);4.若集合A有n个元素,幂集P(A)有n2个元素,|P(A)|=||2A=n2;5.集合的分划:(等价关系)①每一具分划基本上由集合A的几个子集构成的集合;②这几个子集相交为空,相并为全(A);6.集合的分划与覆盖的比较:分划:每个元素均应浮现且仅浮现一次在子集中;覆盖:只要求每个元素都浮现,没有要求只浮现一次;第五章关系1.若集合A有m个元素,集合B有n个元素,则笛卡尔A×B的基2种别同的关系;数为mn,A到B上能够定义mn2.若集合A有n个元素,则|A×A|=2n,A上有22n个别同的关系;3.全关系的性质:自反性,对称性,传递性;空关系的性质:反自反性,反对称性,传递性;全封闭环的性质:自反性,对称性,反对称性,传递性;4.前域(domR):所有元素x组成的集合;后域(ranR):所有元素y组成的集合;5.自反闭包:r(R)=RUI;x对称闭包:s(R)=RU1-R;传递闭包:t(R)=RU2R U3R U……6.等价关系:集合A上的二元关系R满脚自反性,对称性和传递性,则R 称为等价关系;7.偏序关系:集合A上的关系R满脚自反性,反对称性和传递性,则称R 是A上的一具偏序关系;8.covA={|x,y属于A,y盖住x};9.极小元:集合A中没有比它更小的元素(若存在也许别唯一);极大元:集合A中没有比它更大的元素(若存在也许别唯一);最小元:比集合A中任何其他元素都小(若存在就一定唯一);最大元:比集合A中任何其他元素都大(若存在就一定唯一);10.前提:B是A的子集上界:A中的某个元素比B中任意元素都大,称那个元素是B的上界(若存在,也许别唯一);下界:A中的某个元素比B中任意元素都小,称那个元素是B的下界(若存在,也许别唯一);上确界:最小的上界(若存在就一定唯一);下确界:最大的下界(若存在就一定唯一);第六章函数2种别同的关系,有m n种别同的函1.若|X|=m,|Y|=n,则从X到Y有mn 数;2.在一具有n个元素的集合上,能够有22n种别同的关系,有n n种别同的函数,有n!种别同的双射;3.若|X|=m,|Y|=n,且m,满脚f(a*b)=f(a)^f(b),则f为由到的同态映射;若f是双射,则称为同构;第八章群1.广群的性质:封闭性;半群的性质:封闭性,结合律;含幺半群(独异点):封闭性,结合律,有幺元;群的性质:封闭性,结合律,有幺元,有逆元;2.群没有零元;3.阿贝尔群(交换群):封闭性,结合律,有幺元,有逆元,交换律;4.循环群中幺元别能是生成元;5.任何一具循环群必然是阿贝尔群;第十章格与布尔代数1.格:偏序集合A中任意两个元素都有上、下确界;2.格的基本性质:1) 自反性a≤a 对偶: a≥a2) 反对称性a≤b ^ b≥a => a=b对偶:a≥b ^ b≤a => a=b3) 传递性a≤b ^ b≤c => a≤c对偶:a≥b ^ b≥c => a≥c4) 最大下界描述之一a^b≤a 对偶avb≥aA^b≤b 对偶avb≥b5)最大下界描述之二c≤a,c≤b => c≤a^b对偶c≥a,c≥b =>c≥avb6) 结合律a^(b^c)=(a^b)^c对偶 av(bvc)=(avb)vc7) 等幂律a^a=a 对偶 ava=a8) 汲取律a^(avb)=a 对偶 av(a^b)=a9) a≤b a^b=a avb=b10) a≤c,b≤d => a^b≤c^d avb≤cvd11) 保序性b≤c => a^b≤a^c avb≤avc12)分配别等式av(b^c)≤(avb)^(avc) 对偶a^(bvc)≥(a^b)v(a^c)13)模别等式a≤c av(b^c)≤(avb)^c3.分配格:满脚a^(bvc)=(a^b)v(a^c)和av(b^c)=(avb)^(avc);4.分配格的充要条件:该格没有任何子格与钻石格或五环格同构;5.链格一定是分配格,分配格必然是模格;6.全上界:集合A中的某个元素a大于等于该集合中的任何元素,则称a为格的全上界,记为1;(若存在则唯一)全下界:集合A中的某个元素b小于等于该集合中的任何元素,则称b为格的全下界,记为0;(若存在则唯一)7.有界格:有全上界和全下界的格称为有界格,即有0和1的格;8.补元:在有界格内,假如a^b=0,avb=1,则a和b互为补元;9.有补格:在有界格内,每个元素都至少有一具补元;10.有补分配格(布尔格):既是有补格,又是分配格;11.布尔代数:一具有补分配格称为布尔代数;第十一章图论1.邻接:两点之间有边连接,则点与点邻接;2.关联:两点之间有边连接,则这两点与边关联;3.平庸图:惟独一具孤立点构成的图;4.简单图:别含平行边和环的图;5.无向彻底图:n个节点任意两个节点之间都有边相连的简单无向图;有向彻底图:n个节点任意两个节点之间都有边相连的简单有向图;6.无向彻底图有n(n-1)/2条边,有向彻底图有n(n-1)条边;7.r-正则图:每个节点度数均为r的图;8.握手定理:节点度数的总和等于边的两倍;9.任何图中,度数为奇数的节点个数必然是偶数个;10.任何有向图中,所有节点入度之和等于所有节点的出度之和;11.每个节点的度数至少为2的图必然包含一条回路;12.可达:关于图中的两个节点v,j v,若存在连接i v到j v的路,则称iv与j v相互可达,也称i v与j v是连通的;在有向图中,若存在i v到j v i的路,则称v到j v可达;i13.强连通:有向图章任意两节点相互可达;单向连通:图中两节点至少有一具方向可达;弱连通:无向图的连通;(弱连通必然是单向连通)14.点割集:删去图中的某些点后所得的子图别连通了,假如删去其他几个点后子图之间仍是连通的,则这些点组成的集合称为点割集;割点:假如一具点构成点割集,即删去图中的一具点后所得子图是别连通的,则该点称为割点;15.关联矩阵:M(G),m是i v与j e关联的次数,节点为行,边为列;ij无向图:点与边无关系关联数为0,有关系为1,有环为2;有向图:点与边无关系关联数为0,有关系起点为1终点为-1,关联矩阵的特点:无向图:①行:每个节点关联的边,即节点的度;②列:每条边关联的节点;有向图:③所有的入度(1)=所有的出度(0);16.邻接矩阵:A(G),a是i v邻接到j v的边的数目,点为行,点为ij列;17.可达矩阵:P(G),至少存在一条回路的矩阵,点为行,点为列;P(G)=A(G)+2A(G)+3A(G)+4A(G)可达矩阵的特点:表明图中任意两节点之间是否至少存在一条路,以及在任何节点上是否存在回路;A(G)中所有数的和:表示图中路径长度为1的通路条数;2A(G)中所有数的和:表示图中路径长度为2的通路条数;3A(G)中所有数的和:表示图中路径长度为3的通路条数;4A(G)中所有数的和:表示图中路径长度为4的通路条数;P(G)中主对角线所有数的和:表示图中的回路条数;18.布尔矩阵:B(G),v到j v有路为1,无路则为0,点为行,点为i列;19.代价矩阵:邻接矩阵元素为1的用权值表示,为0的用无穷大表示,节点自身到自身的权值为0;20.生成树:只拜访每个节点一次,通过的节点和边构成的子图;21.构造生成树的两种办法:深度优先;广度优先;深度优先:①选定起始点v;②挑选一具与v邻接且未被拜访过的节点1v;③从v动身按邻接方向接着拜访,当遇到一具节点所有邻接1点均已被拜访时,回到该节点的前一具点,再寻求未被拜访过的邻接点,直到所有节点都被拜访过一次;广度优先:①选定起始点v;②拜访与v邻接的所有节点1v,2v,……,k v,这些作为第一层节点;③在第一层节点中选定一具节点v为起点;1④重复②③,直到所有节点都被拜访过一次;22.最小生成树:具有最小权值(T)的生成树;23.构造最小生成树的三种办法:克鲁斯卡尔办法;管梅谷算法;普利姆算法;(1)克鲁斯卡尔办法①将所有权值按从小到大罗列;②先画权值最小的边,然后去掉其边值;重新按小到大排序;③再画权值最小的边,若最小的边有几条相同的,挑选时要满脚别能浮现回路,然后去掉其边值;重新按小到大排序;④重复③,直到所有节点都被拜访过一次;(2)管梅谷算法(破圈法)①在图中取一回路,去掉回路中最大权值的边得一子图;②在子图中再取一回路,去掉回路中最大权值的边再得一子图;③重复②,直到所有节点都被拜访过一次;(3)普利姆算法①在图中任取一点为起点v,连接边值最小的邻接点2v;1②以邻接点v为起点,找到2v邻接的最小边值,假如最小边值2比v邻接的所有边值都小(除已连接的边值),直截了当连接,否则退回1。
数据结构树的知识点总结

数据结构树的知识点总结一、树的基本概念。
1. 树的定义。
- 树是n(n ≥ 0)个结点的有限集。
当n = 0时,称为空树。
在任意一棵非空树中:- 有且仅有一个特定的称为根(root)的结点。
- 当n>1时,其余结点可分为m(m>0)个互不相交的有限集T1、T2、…、Tm,其中每个集合本身又是一棵树,并且称为根的子树(sub - tree)。
2. 结点的度、树的度。
- 结点的度:结点拥有的子树个数称为结点的度。
- 树的度:树内各结点的度的最大值称为树的度。
3. 叶子结点(终端结点)和分支结点(非终端结点)- 叶子结点:度为0的结点称为叶子结点或终端结点。
- 分支结点:度不为0的结点称为分支结点或非终端结点。
- 除根结点之外,分支结点也称为内部结点。
4. 树的深度(高度)- 树的层次从根开始定义起,根为第1层,根的子结点为第2层,以此类推。
树中结点的最大层次称为树的深度(或高度)。
二、二叉树。
1. 二叉树的定义。
- 二叉树是n(n ≥ 0)个结点的有限集合:- 或者为空二叉树,即n = 0。
- 或者由一个根结点和两棵互不相交的、分别称为根结点的左子树和右子树的二叉树组成。
2. 二叉树的特点。
- 每个结点最多有两棵子树,即二叉树不存在度大于2的结点。
- 二叉树的子树有左右之分,次序不能颠倒。
3. 特殊的二叉树。
- 满二叉树。
- 一棵深度为k且有2^k - 1个结点的二叉树称为满二叉树。
满二叉树的特点是每一层上的结点数都是最大结点数。
- 完全二叉树。
- 深度为k的、有n个结点的二叉树,当且仅当其每一个结点都与深度为k的满二叉树中编号从1至n的结点一一对应时,称之为完全二叉树。
完全二叉树的叶子结点只可能在层次最大的两层上出现;对于最大层次中的叶子结点,都依次排列在该层最左边的位置上;如果有度为1的结点,只可能有一个,且该结点只有左孩子而无右孩子。
三、二叉树的存储结构。
1. 顺序存储结构。
- 二叉树的顺序存储结构就是用一组地址连续的存储单元依次自上而下、自左至右存储完全二叉树上的结点元素。
离散数学Data_G_11-2

《离散数学》
page: 29
11.5 树 11.5.4 哈夫曼编码与哈夫曼树 最优二叉树(哈夫曼树)的构造方法(N-S图):
各个结点独立成树(森林) 当森林中树的数目大于1 找两棵权值最小的树 合并这两棵权值最小的树(权为二者之和)
2013年11月16日星期六
《离散数学》
2013年11月16日星期六
《离散数学》
page: 25
11.5 树 11.5.4 哈夫曼编码与哈夫曼树 前缀—字符串中前边的一部分。 如,字符串s1s2s3…sn是长度为n的字符串,则其长度 为1,2,3..n-1的前缀分别是:? s1 s 1s 2 s 1s 2s 3 s1s2s3…sn-1
前缀码—彼此不互为前缀的一组编码。 如:{0,10,110,1111},{1,01,001,000} 和 {1,,11,101,001,0011},{xi,xia,xiang} 前缀码 非前缀码
证明模式: 1)⇒ 2)⇒ 3)⇒ 4) ⇒ 5)⇒ 6)⇒ 1)
2013年11月16日星期六
《离散数学》
page: 1
11.5 树 11.5.1 无向树 叶结点(叶子)--无向树中度为1的结点(顶点)。 (n,m)树—具有个n结点,m条边的树。 结论1:非平凡无向树中至少有两个叶结点。 证明:设非平凡无向树为(n,m)树,其中m=n-1
《离散数学》
page: 10
11.5 树 11.5.3 二叉树 二叉树的主要性质: 性质1:二叉树的第i层上最多可有2i-1个结点。
层:层结点数 1: 21-1=1 2: 22-1=2 B C D F A E H
3: 23-1=4
4: 24-1=8 …… i: 2i-1
离散数学 树

离散数学树
离散数学中的树(Tree)是一种常见的图论结构,它是一种无向、连通且没有简单回路的无向图,或者是一个有向连通图,其中每个节点都只有唯一一个父节点(除了根节点)。
树形结构中的每一个节点都可以视为一个子树的根节点,因为它下面连接了若干个子节点,这样就形成了一棵向下生长的树状结构。
树形结构还有一个重要的特点就是它具有很好的递归性质,因为每个节点下面都可以再建立一棵子树,这样就可以逐层递归地构建出整棵树。
在离散数学中,树被广泛应用于算法设计、数据结构以及对计算机网络和信息系统进行建模等领域。
树的深度和广度优先遍历、树的一些基本性质(如高度、度、叶子节点等)以及树的遍历应用在图的搜索算法、排序、哈夫曼编码、抽象语法树等算法中都有广泛的应用。
树分解定理

树分解定理树分解定理(Tree decomposition theorem)是离散数学中一项重要的定理,它与图的分解和图的算法密切相关。
树分解定理描述了任意图都可以根据其边集的某个树分解表达。
首先,我们来介绍一下树分解的概念。
树分解是对一个无向图进行分解的一种方法。
给定一个无向图G=(V,E),其中V表示图的顶点集,E表示图的边集。
树分解是将图G分解成一些子图的集合,这些子图采用树的结构组织,且满足如下条件:1. 每个子图都是图G的子图。
2. 每个顶点都属于一个或多个子图。
3. 任意两个子图之间要么没有公共顶点,要么有且只有一个公共顶点。
根据树分解的定义,我们可以得到一个关键结论:每个子图都可以用一个包含该子图所有顶点的集合作为标记。
这就是树分解的核心思想。
树分解定理指出,对于任意的无向图G=(V,E),存在一个树分解{(B_x, X_x)},其中B_x是一个子图,X_x是子图B_x的标记集合,满足以下三个条件:1. 图G的每个顶点都属于某个子图,即图G中所有的顶点在树分解的所有子图的标记集合中都有。
2. 图G的每条边都关联于某个子图,即图G中所有的边连接的顶点在树分解的某两个子图的标记集合中都有。
3. 任意的顶点v在树分解的所有子图中的标记集合的交集,称为顶点v的袋,即B_v = ∩{X_x|v∈X_x}。
树分解的每个子图袋的大小要小于等于某个常数k,即B_x ≤ k。
树分解定理的证明非常复杂,可以依靠递归的方法得到。
首先,我们定义以v为根的子图B_v和相应的标记集合X_v。
然后,我们选择树G的深度最大的顶点u,将其从图中删除并得到一个新的图G'。
此时,原图G的每个顶点都属于G'的一个子图,并形成一个包含u的袋B_u。
我们再次选择G'中深度最大的顶点,重复上述操作,直到最后得到只包含一个顶点并且没有边的子图。
这样就得到了一个树分解。
树分解的主要应用领域是图算法和计算理论。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
前言
1956年Kruskal设计了求最优树的有效算法。 树是一类既简单而又非常重要的图,是计算机中一种基本的数据结构和 表示方法,在输电网络分析设计、有机化学、最短连接及渠道设计等领 域也都有广泛的应用。 本章将对树进行详细的讨论,主要包括树的基本性质和生成树,以及有 向树中的m叉树、有序树和搜索树等。
11.1 树与生成树
生成树与最小生成树
定理11.2 无向图 为连通当且仅当 有生成树。
证明:先采用反证法来证明必要性。 若 G 不连通,则它的任何生成子图也不连通,因此不可能有生成树,与 G 有 生成树矛盾,故 G 是连通图。 再证充分性。 设 G 连通,则 G 必有连通的生成子图,令 T 是 G 的含有边数最少的生成子图, 于是 T 中必无回路(否则删去回路上的一条边不影响连通性,与 T 含边数最少矛 盾),故 T 是一棵树,即生成树。
第十一章 树
离散数学
陈志奎主编 人民邮电出版社
前言
1847年,德国学者柯希霍夫(Kirchhof)在研究物理问题时提出了树 的概念。他用一类线性方程组来描述一个电路网络的每一条支路中和环 绕每一个回路的电流。他像数学家一样抽象地思考问题:用一个只由点 和线组成的相应的组合结构来代替原来的电路网络,而并不指明每条线 所代表的电器元件的种类。事实上,他把每个电路网络用一个基本图来 代替。为了解相应的方程组,他用一种结构方法指出,只要考虑一个图 的任何一个“生成树”所决定的那些独立圈就够了。他的方法现已成为 图论中的标准方法。
证明:由 m 知道T至少有一个度数大于1的内点v,再由定理11.1中命题(5), n 1 T-v不是连通的,故v必是割点。
11.1 树与生成树
生成树与最小生成树
定义11.3 若无向(连通图)G的生成子图是一棵树,则称该树是G的生
成树或支撑树,记为 T
T
G
G
。生成树 T
G
G
中的边称为树枝。图G中其他边称为
11.1 树与生成树
生成树与最小生成树
定义11.4 设<G,W>是加权无向图, G' G , G ' 中所有边的加权长度 之和称为 G ' 的加权长度。G的所有生成树中加权长度最小者称为<G, W>的最小生成树。
最小生成树有很广泛的应用。例如要建造一个连接若干城市的通讯网络,已知
城市 v i 和 v
前言
1857年,英国数学家凯莱(Caylay Arthur)从事计数由给定的碳原子 数n的饱和碳氢化合物的同分异构物时,独立地提出了树的概念。凯莱把 这个问题抽象地叙述为:求有P个点的树的数目,其中每个点的度等于1 或4,树上的点对应一个氢原子或一个碳原子。凯莱的工作是图的计数理 论的起源。法国数学家若尔当在1869年作为一个纯数学对象独立地发现 了树,他并不知道树与现代的化学学说有关。 1889年凯莱给出了完全图Kn的概念。
i 1
213 x 的节点数 n
n15 x T 的边数 m
又由 2 m d( vi )
n
( 5 x )2 2 3 1 4 3 x 得2
所以 x
i 1
9,即树 T
有9片树叶。
11.1 树与生成树
树及其性质
推论11.2 阶大于2的树必有割点。
解:这实际上是求 G 的生成树的边数问题。 一般情况下,设连通图 G 有n个节点,m条边。由树的性质知,T有n个节点, n-1条树枝,m-n+1 条弦。 在图11.2(a)中, n=5,则n-1=4 ,所以至少要修4条路才行。 由图11.2可见,要在一个连通图 中找到一棵生成树,只要不断地从 的回路上 删去一条边,最后所得无回路的子图就是 的一棵生成树。于是有以下定理。
的补。
的弦。所有这些弦的集合称为 T
例11.3 图11.2中(b)、(c)所示的树 、 是图(a)的生成树,而(d)所示的 树 不是图(a)的生成树。
图11.2
11.1 树与生成树
生成树与最小生成树
例11.4 某地要兴建5个工厂,拟修筑道路连接这5处。经勘测其道路可依如图
11.2(a)的无向边铺设。为使这5处都有道路相通,问至少要铺几条路?
j
之间通讯线路的造价,设计一个总造价为最小的通讯网络,就是求最
小生成树 。
11.1 树与生成树
生成树与最小生成树
例11.5 图11.3显示了利用Kruskal算法生成最小生成树的过程。通俗地讲,该算 法就是想将图中的边按权重从小到大排列,再从小到大一次取出每条边做检查。一 开始取最小的边,由该边导出一部分子图,然后依次每取一边加入得到的部分子图。 若仍为无回路,将该边与原有部分子图的边导出一个新子图;若得到回路,将该边 放弃。上述过程继续进行直到所有的边都检查完毕,这样得到的生成子图就是最小
主要内容
PART 01
树与生成树
PART 02
有向树及其应用
11.1 树与生成树
树及其性质
定义11.1 连通且不含回路的图称为树。树中度为1的结点称为叶,度大 于1的结点称为枝点或内点。
根据这个定义,平凡图K1也是树。K1是一个既无叶又无内点的平凡树。
定义11.2 在定义11.1中去掉连通的条件,所定义的图称为森林。森林 的每个支都是树。
11.1 树与生成树
树及其性质
例11.1 图11.1所示是森林,他的每个分支(a)、(b)都是一棵树。
图11.1
11.1 树与生成树
树及其性质
定理11.1 设T是无向(n,m)图,则下述命题相互等价。
(1)T连通且无回路。
(2)T无回路且m=n-1。 (3)T连通且m=n-1。 (4)T无回路但新增加任何一条边(端点属于T)后有且仅有一个回路。 (5)T连通,但是删去任何一边后便不再连通。 (6)T的每一对结点之间有且仅有一条道路可通。
11.1 树与生成树
树及其性质
推论11.1 任 2 ( n t) ,由定理11.1中命题 证明:设(n,m)树T有t片叶,则 2
n
( n t ) ≥ t 2 n 2 t,即 t ≥ 2 (2),可得 2
例11.2 设 是一棵树,它有两个2度节点,一个3度节点,三个4度节点,求 的树 叶数。 解:设树 T 有 x 片树叶,则T