AbstractBaseGraph#getedge(v、v)はどのように並列エッジに対処しますか?
-
21-12-2019 - |
質問
AbstractBaseGraph#getEdge(V,V)
は単一のEを返します
解決
複数のエッジがある場合は、返されるのは1つだけです。
public E getEdge(V sourceVertex, V targetVertex){
...
Iterator<E> iter =
getEdgeContainer(sourceVertex).vertexEdges.iterator();
while (iter.hasNext()) {
E e = iter.next();
...
.
最初の正当なエッジ(ARGSに等しいソースとターゲットの頂点を持つ)が返されます。イテレータ(地図データ構造に基づく)は、コンポーネントが返される順序のGaurenteeを作成しないので、どのエッジが返されるかを確実にすることはできません。特定のエッジを調べて選択する必要がある場合は、おそらくgetAllEdges(V sourceVertex, V targetVertex)
を使用する必要があります。
所属していません StackOverflow