📅  最后修改于: 2021-01-11 10:28:35             🧑  作者: Mango
生成树是图G的子集,图G的所有顶点都覆盖有尽可能少的边。因此,生成树没有周期,因此无法断开连接。
通过这个定义,我们可以得出一个结论,即每个连通和无向的图G至少都有一个生成树。断开连接的图没有任何生成树,因为它无法跨越到其所有顶点。
我们从一张完整的图上发现了三棵生成树。一个完整的无向图最多可以具有n个n-2个生成树,其中n是节点数。在上述示例中, n为3,因此3 3-2 = 3棵生成树是可能的。
现在我们了解到,一个图可以具有多个生成树。以下是连接到图G的生成树的一些属性-
连通图G可以具有一个以上的生成树。
图G的所有可能的生成树都具有相同数量的边和顶点。
生成树没有任何循环(循环)。
从生成树中删除一条边将使图断开连接,即,生成树已最小连接。
在生成树上添加一条边会创建一个电路或环路,即生成树最大程度是非循环的。
生成树具有n-1个边,其中n是节点(顶点)的数量。
从一个完整的图中,去掉最大e-n+ 1条边,我们可以构建生成树。
一个完整的图最多可以包含n n-2个生成树。
因此,我们可以得出结论,生成树是已连接图G的子集,而未连接图没有生成树。
生成树基本上用于查找连接图中所有节点的最小路径。生成树的常见应用是-
民用网络规划
计算机网络路由协议
聚类分析
让我们通过一个小例子来理解这一点。考虑一下,城市网络是一个巨大的图,并且现在计划以这样的方式部署电话线:以最少的线路我们可以连接到所有城市节点。这是生成树出现的地方。
在加权图中,最小生成树是比同一图的所有其他生成树具有最小权重的生成树。在现实世界中,可以将这种权重度量为距离,拥塞,交通负荷或任何表示边缘的任意值。
我们将在这里了解两种最重要的生成树算法-
两者都是贪婪算法。