Comment AbstractBaseGraph#getEdge(V,V) Traiter avec des Bords Parallèles?

StackOverflow https://stackoverflow.com//questions/21028475

  •  21-12-2019
  •  | 
  •  

Question

AbstractBaseGraph#getEdge(V,V) renvoie un seul E.Comment est-il décider quel bord de revenir si les deux sommets ont passé plus d'une connexion edge?

Était-ce utile?

La solution

Si il y a plusieurs arêtes, il parait qu'on est retourné:

    public E getEdge(V sourceVertex, V targetVertex){
    ...
    Iterator<E> iter =
                getEdgeContainer(sourceVertex).vertexEdges.iterator();

            while (iter.hasNext()) {
                E e = iter.next();
    ...

Pour la première fois sur le bord (avoir la source et la cible de points égal à la args) est retourné.Depuis l'itérateur (basé sur une Carte de la structure de données) ne fait pas de gaurentee de l'ordre dans lequel les composants seront retournés, il n'est pas possible d'être certain de quel bord vous sera retourné.Si vous avez besoin d'examiner et de choisir une arête, vous devriez probablement utiliser getAllEdges(V sourceVertex, V targetVertex).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top