JGraphT - 最大独立集

时间:2013-11-02 02:01:59

标签: java jgrapht

我有这个代码来制作无向图:

UndirectedGraph g = new SimpleGraph(DefaultEdge.class);
g.addVertex("1");
g.addVertex("2");
g.addVertex("3");
g.addVertex("4");
g.addEdge("1", "3");
g.addEdge("1", "4");
g.addEdge("2", "4");
g.addEdge("3", "4");

如何使用JGraphT库找到此图的最大独立集?

我已添加此代码

Set vertices = g.vertexSet();
Set covers = VertexCovers.findGreedyCover(g);
Set difference = new HashSet(vertices);
difference.removeAll(covers);
System.out.println(difference);

1 个答案:

答案 0 :(得分:2)

您可以使用org.jgrapht.alg.VertexCovers查找图表的最小顶点覆盖。对该集的称赞将给出最大的独立集。