我有一组节点和它们之间的有向边集。边缘没有重量。
如何找到必须添加的最小边数以使图形强连接(即应该有从每个节点到所有其他节点的路径)?这个问题有名字吗?
答案 0 :(得分:20)
这是一个非常经典的图形问题。
答案 1 :(得分:1)
在我的头顶上,似乎最简单(最少的边缘)方式使有向图强烈连接将是一个涉及所有节点的循环;所以最小边数就是N,其中N是节点数。如果已经存在边缘,只需执行类似连接最长现有定向路径到下一个与当前路径不重叠的最长路径的操作,直到形成完整循环(一旦路径包含所有节点,连接两端以形成周期。)
不确定是否有更正式的定义,但对我来说似乎是合乎逻辑的。
答案 2 :(得分:1)
我会找到所有弱连接的组件,并将它们连接起来。
编辑:
更明确一点,这个想法是你有WCC W(1),...,W(n)
,
使W(i%n + 1)
中的所有W(i)
都可以从i=1 to n
中的任何节点到达{{1}}。