了解生成树与最小生成树

    在本教程中,您将通过示例和图表了解生成树和最小生成树。
    在学习生成树之前,我们需要了解两个图:无向图和连通图。
    无向图是边不指向任何方向(即边是双向的)的图。
在这里插入图片描述
    无向图
    连通图是总是有从顶点到任何其它顶点的路径的图。
在这里插入图片描述
    连通图

生成树

    生成树是一个无向连通图的子图,它包含了图的所有顶点和最小可能的边数。如果缺少一个顶点,则它不是生成树。
    边可能有权重,也可能没有。
    从一个完整的图中可以创建生成树,具有n个顶点的生成树的总数等于 n ( n − 2 ) n^{(n-2)} nn2
    如果n=4,最大可能生成树数等于 4 4 − 2 = 16 4^{4-2}=16 442=16。因此,有4个顶点的完整图可以形成16个生成树。

生成树示例

    让我们用下面的例子来理解生成树:
    原始图为:
在这里插入图片描述
    从上图中可以创建的一些可能的生成树是:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

最小生成树

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

最小生成树示例

    让我们通过下面的例子来理解上面的定义。
    初始图为:
在这里插入图片描述
    加权图
    上图中可能的生成树是:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
    上述生成树的最小生成树为:
在这里插入图片描述
    使用以下算法可找到图中的最小生成树:

  1. Prim’s Algorithm
  2. Kruskal’s Algorithm
生成树应用
  • 计算机网络路由协议
  • 聚类分析
  • 民用网络规划
最小生成树应用
  • 在地图中寻找路径
  • 设计电信网、供水网、电网等网络。
参考文档

[1]Parewa Labs Pvt. Ltd.Spanning Tree and Minimum Spanning Tree[EB/OL].https://www.programiz.com/dsa/spanning-tree-and-minimum-spanning-tree,2020-01-01.

猜你喜欢

转载自blog.csdn.net/zsx0728/article/details/114578537