给定带有加权边的有向图,可以使用什么算法给出具有最小权重的子图,但允许从图中的任何顶点移动到任何其他顶点(假设任意两个顶点之间的路径)永远存在)。
这种算法是否存在?
答案 0 :(得分:3)
即使他们自己不对,花时间关注Vitalii的维基百科链接也很快发现了这个算法:
http://en.wikipedia.org/wiki/Chu%E2%80%93Liu/Edmonds_algorithm
答案 1 :(得分:2)
将图表中的每个节点拆分为两个节点。一个节点将接受原始节点的所有传入边缘,另一个节点将具有所有传出边缘。然后,在所有边上放下方向,因此图形是无向的。然后你可以在图形上运行一个标准的MST算法(Prim,Kruskal),你将确保每个原始节点可以被其他每个原始节点运行。
答案 2 :(得分:2)
这看起来是NP-Hard:最小权重强烈连接跨越子图问题。
我相信汉密尔顿循环问题可以简化为:给定图G(V,E),构造一个图表DG,其重量为1,边缘出现,重量为100(| V | +1),边缘为'吨。 DG具有最小权重强连接跨越子权重子| V |当且仅当G有哈密顿循环时。
这篇论文有一个近似算法:http://portal.acm.org/citation.cfm?id=844363
答案 3 :(得分:1)
这是定向Steiner树问题。作为施泰纳树,它是NP-Hard。
您可以在这里找到一些近似算法:
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.38.8774&rep=rep1&type=ps
答案 4 :(得分:0)
选择任何节点并将其返回。
您是否意味着找到最大强连接子图(可能删除的最少节点数)或最小权重跨越子图(无节点删除允许)?