我正在寻找一个Scala(或Java)图形库,它实现了有向图的min-cut。
你建议我使用哪个图书馆?
答案 0 :(得分:2)
JUNG有一个(对于Java)。
检查文档 - > JUNG API Javadoc。 edu.uci.ics.jung.algorithms.flows
包中包含a class getMinCutEdges()
方法。
答案 1 :(得分:0)
看看Scala graph。它看起来不像它在API中提供min cut,但你可以用它来实现你需要的任何图形算法。
答案 2 :(得分:0)
我建议将Tinkerpop Blueprints与JUNG结合使用,因为Blueprints有一个非常好的Graphs接口和很多用于Graph I / O和Traversal的Helpers,而JUNG已经有很多算法实现了
Tinkerpop包含一个名为com.tinkerpop.blueprints.pgm.oupl.jung.GraphJung
的类,以便您可以在JUNG中使用任何Tinkerpop Graph
。
例如:
Graph graph = ... // construct a particular Blueprints graph implementation
PageRank<Vertex,Edge> pageRank = new PageRank<Vertex, Edge>(new GraphJung(graph), 0.15d);
pageRank.evaluate();