令 G = (V, E) 为加权、连通且无向图。描述一个有效的算法,它决定 G 中是否正好有 2 个不同的 MST。
我已经解决的上一个问题要容易得多:描述一种有效的算法来确定 G 中是否正好有一个 MST。
这就是我解决后一个问题的方法:
我们运行 Kruskal 算法,然后将新 MST 的边缘涂成蓝色,其余边缘涂成红色。
然后我使用了另一种我们见过的简单算法(使用 Kruskal),它在包含最大数量红色边的图形中找到一个 MST——这意味着它是图形 G 中的一个 MST,而不管边的颜色如何,并且每隔一个 MST 不能包含比算法找到的 MST 更多的红色边缘。
现在只有一个 MST,如果算法找到相同的 MST(包含所有蓝色边缘)。
这里的另一个问题似乎要复杂得多。我尝试过使用上述算法,也尝试过使用其他各种技巧,但都没有奏效。
顺便说一句,我听说有一种算法可以计算图中不同 MST 的数量,但这确实是一种矫枉过正——我被要求提供一个简单的算法。
我会很感激任何帮助,谢谢