生成树和最小生成树的区别

时间:2020-05-02 17:07:38

标签: algorithm graph tree difference minimum-spanning-tree

我一直在阅读生成树及其类型的概念。这是我所了解的:

生成树:图G的子集,具有连接所有顶点的最小边数

最小生成树:这是一棵生成树,其边权重之和最小。

现在,这是指在检索MST时

  1. 如果我们遇到G中具有更多边(与其他路径相比)但路径权重总和最小的权重(与所有其他路径相比)的路径,则不会认为它是MST?

  2. 只有当我们有多个G的生成树时,MST的概念才起作用吗?否则Spanning tree = MST?

感谢您的帮助!

1 个答案:

答案 0 :(得分:3)

  1. 如果我们遇到G中具有更多边(与某些其他路径相比)但路径权重总和最小的权重(与所有其他可能的路径相比)的路径,则不会将其视为一个MST?

我认为通过“路径”,您是要写“树”吗? (“ path”是一个完全不同的概念:它只有两个端点,没有分支结构。)

tree是一个没有周期的连通图,因此每个具有 n 个顶点的树都具有完全 n -1个边。因此,如果图具有 n 个顶点,则该图的每个生成树都必须具有完全 n -1个边。因此,如果您有一个子图的边 n个多于 n -1个,那么它不是树,也不是生成树,所以-正如您推测的那样-不是最小的生成树。

但是请注意,如果一个子图连接了所有顶点,则该子图将必然包含至少一个生成树;除非存在负权重边缘,否则这些生成树的权重将小于或等于子图的权重。因此,尽管您的示例不是最小生成树,但它可能包含最小生成树。


  1. 只有当我们有多个G的生成树时,MST的概念才起作用吗?其他Spanning tree = MST?

如果图只有一个生成树,则该生成树是最小生成树,是的。但是请注意,只有在图本身一棵树时,这种情况才会发生(在这种情况下,它是它自己的最小生成树)。否则肯定会有多个生成树。

当然,即使它有多个生成树,也有可能它们的权重都相同 ,在这种情况下,它们都是最小的生成树。

相关问题