检查桥梁的定向图

时间:2011-10-14 12:50:00

标签: algorithm graph

我正在寻找一种快速算法,以确定给定的有向图是否包含桥...
不关心这座桥的位置..只是图表是否包含它。

3 个答案:

答案 0 :(得分:1)

请注意,当且仅当它不包含在任何循环中时,边是一个桥,因此如果图形没有强连接,它应该包含桥。

在图表上运行Tarjan strongly connected components algorithm。如果结果不同,那么你的图表就会有一座桥梁。

答案 1 :(得分:1)

我刚刚找到了一个更好或更简单的解决方案..
选择任何节点运行一个简单的dfs并检查每个节点是否被访问然后反转所有边缘并从同一节点开始检查是否可以再次访问所有节点,如果没有那么它肯定包含一个Bridge。

答案 2 :(得分:1)

如果指向图形,类似于无向图的桥,我们称之为边强桥,如果它的移除增加了图的强连通分量的数量。 为了测试有向图是否具有强大的桥,您需要运行本文中详述的算法: Giuseppe F. Italiano,Luigi Laura,Federico Santaroni:在线性时间内找到强大的桥梁和强大的关节点。理论值。 COMPUT。科学。 447:74-84(2012) http://dx.doi.org/10.1016/j.tcs.2011.11.011