设G= (V,E)是无向图。若F.中G的每个圈至少有一条边,则称边的F⊆E集为⊆反馈边集。
(a)假设G未加权。设计了一种有效的求最小大小反馈边缘集的算法.
(b)设G是一个具有正边权的加权无向图。设计了一种有效的求最小权反馈边缘集的算法.
我的解决方案(需要建议):
( a) 最小大小反馈边集:,由于图是不加权的,我们可以使用DFS。我们像往常一样从任何顶点开始DFS。当我们遇到一个后边缘,我们把它插入到一组反馈边。当DFS完成时,这个集合将是答案。
( b) 最小权反馈边集:由于图是加权的,所以我们可以使用Kruskal。但是Kruskal通常以最小重量的边缘开始。如果我们可以否定所有的边权,然后运行Kruskal,当我们得到同一分量的顶点之间的边时,我们可以将它保存在反馈边集中。最后,消除边缘权重。我建议否定边缘权值的原因是因为我们需要最小权值反馈集。当权值为负值时,Kruskal将从权重最小的边开始(实际上是最大的),并为权重较小的同一分量寻找边。
有人能说出这个解决方案是否正确吗?
发布于 2012-05-30 15:14:29
是的,你的解决方案是正确的。无向图的最小权反馈边集是最大权生成森林的补充.所有的生成森林都具有相同的基数,因此在未加权的情况下,任何生成林(如DFS所发现的)都可以。(校样素描:拟阵)
反馈弧集确实是NP-硬的,但这是无向情况。
https://stackoverflow.com/questions/10791689
复制相似问题