假设我有一个连接顶点的大型任意图,如下所示。假设这些是网络连接。有些连接(用红色标出)比其他连接更容易损坏。如果两个红色连接失败,许多点将不再连接到剩余孤岛的成员。
怎样才能找到这些神经痛的联系?
有没有现成的算法来解决这个问题?

发布于 2012-07-26 02:45:11
您对Edge Connectivity感到疑惑。在你的例子中,你似乎只关心图的两条边是连通的,对于这种情况可能有特定的算法,但我不确定。下面是一个我认为应该有效的简单算法:
For all edges, E, in your graph, G:
Remove E from G.
Find any path, P, from src(E) to dst(E).
Remove all edges in P from G.
Find a path from src(E) to dst(E),
if none exists then E is one of your important edges.这不是很快,但是,它需要O(E*(E+V)),如果你的图是平面的,那么这并不是太糟糕,因为O(E) == O(V),所以它需要O(V^2)。如果您的图是更多的连接,那么这可能会像O(V^4)一样糟糕,这可能是令人望而却步的。
发布于 2012-07-26 00:18:44
就在我脑海中,我会说你需要看看流网络:http://en.wikipedia.org/wiki/Flow_network。
https://stackoverflow.com/questions/11654120
复制相似问题