これは、カスタム エッジの作成に役立ちますか?
この特定の例は、JGrapht の内部ドキュメントから引用されています。コード ベース内で StoerWagnerMinimumCut アルゴリズムを検索します。
どうぞ 。
ここでの考え方は、グラフの端にいくつかの重みを与えることです。そのため、デフォルトの重みを操作する必要があります。
final WeightedGraph<Set<V>, DefaultWeightedEdge> workingGraph;
....
workingGraph =
new SimpleWeightedGraph<Set<V>, DefaultWeightedEdge>(
DefaultWeightedEdge.class);
list = ....
workingGraph.addVertex(list);
....
// ここでエッジの重みを操作しましょう
DefaultWeightedEdge eNew = workingGraph.getEdge(someSourcEdge, someTargetEdge);
if (eNew == null) {
eNew = workingGraph.addEdge(someSourcEdge, someTargetEdge);
workingGraph.setEdgeWeight(eNew, graph.getEdgeWeight(e));
} else {
workingGraph.setEdgeWeight(
eNew,
workingGraph.getEdgeWeight(eNew) + graph.getEdgeWeight(e));
この例を試して、それを使用してカスタマイズされたエッジを作成していただければ幸いです。
PS :
私の答えは100%正しいわけではありませんが、ドキュメントの正しい方向を示すことが目的です:-)