任何无向加权图的反馈集是边的子集,因此在删除后子集中的边缘,其余图是非循环的。
给出G =(V,E),一个无向权图,还有一个整数k,如何确定总权重不超过k的反馈集?
谢谢!
最小反馈集将永远不会包含使图形的两个分量断开的边,因此删除反馈集不会改变连接的分量,但会使每个连接的分量无循环。
如果连接了无向图并且是非循环的,则它是一棵树,所以:
对于图形中的每个连接组件,找到maximum权重生成树。您可以通过取消所有权重来使用任何最小权重生成树算法。
不在最大权重生成树中的边缘是最小权重反馈集。
要找到所有最大权重树,我建议在整个图形上使用Kruskal算法,其边缘按权重降序排序,因为它将一次找到所有的权重树。然后,只需选择不在任何树中的所有边缘即可。