📜  生成树和最小生成树

📅  最后修改于: 2020-09-28 02:49:07             🧑  作者: Mango

在本教程中,您将通过示例和图形学习有关生成树和最小生成树的信息。

在学习生成树之前,我们需要了解两个图:无向图和连接图。

无向图是其中边不指向任何方向的图(即,边是双向的)。

Undirected Graph
无向图

连通图是其中始终存在从顶点到任何其他顶点的路径的图。

Connected Graph
连接图

生成树

生成树是无向连接图的子图,它包括图的所有顶点以及可能的最小边数。如果缺少顶点,则它不是生成树。

边缘可以分配权重,也可以不分配权重。

可以从完整图创建的具有n个顶点的生成树的总数等于n (n-2)

如果n = 4 ,则最大可能的生成树数等于4 4-2 = 16 。因此,可以从具有4个顶点的完整图形中形成16个生成树。


生成树的示例

让我们用以下示例了解生成树:

让原始图为:

initial tree
正态图

可以从上图创建的一些可能的生成树是:

spanning tree
一棵生成树
spanning tree
一棵生成树
spanning tree
一棵生成树
spanning tree
一棵生成树
spanning tree
一棵生成树
spanning tree
一棵生成树

最小生成树

最小生成树是其中边缘的权重之和尽可能最小的生成树。


生成树的示例

让我们借助下面的示例了解上面的定义。

初始图形为:

initial graph
加权图

上图可能的生成树是:

minimum spanning tree (mst)
最小生成树-1
minimum spanning tree (mst)
最小生成树-2
minimum spanning tree (mst)
最小生成树-3
minimum spanning tree (mst)
最小生成树-4

上述生成树中的最小生成树为:

minimum spanning tree (mst)
最小生成树

使用以下算法可找到图中的最小生成树:

  1. 普里姆算法
  2. 克鲁斯卡尔算法

生成树应用

  • 计算机网络路由协议
  • 聚类分析
  • 民用网络规划

最小生成树应用

  • 在地图中查找路径
  • 设计诸如电信网络,供水网络和电网的网络。