/ / Wie finde ich die Eckpunkte einer Kante und wenn einer davon ein Blattknoten a in JUNG Graph ist? - Java, jung

Wie finde ich die Scheitelpunkte einer Kante und wenn einer davon ein Blattknoten a in JUNG Graph ist? - Java, jung

Ich arbeite mit JUNG Graph. Das Problem, an dem ich arbeite, kann wie folgt definiert werden:

Gegeben ein JUNG Graph G = {V, E} und eine Kante E1, finde die Knoten / Scheitelpunkte dass E1 den Knoten verbindet und löscht, wenn es ein Blattknoten ist.

Also, es gibt zwei Teile:

  1. Finden der Scheitelpunkte, die durch eine gegebene Kante E1 verbunden sind.
  2. Finden Sie heraus, ob ein bestimmter Knoten ein Blattknoten ist?

Sind diese beiden Operationen direkt in JUNG möglich? Wenn nicht, kann jemand einen alternativen Weg vorschlagen, um dasselbe zu erreichen.

Antworten:

2 für die Antwort № 1

(1) Graph.getIncidentVertices(E e1)

(2) Sie definieren nicht, was Sie mit "Blattknoten" meinen, aber vorausgesetzt, Sie beziehen sich auf einen gerichteten Graphen und einen Eckpunkt, der eine einlaufende Kante und keine ausgehenden Kanten hat, das ist einfach: Graph.getIncomingEdges().size() == 1

Graph.getOutgoingEdges().isEmpty())

Wenn das Diagramm kein Multigraph ist, können Sie dies auch tun: Graph.getPredecessorCount() == 1

Graph.getSuccessorCount() == 0

Der Javadoc für JUNG ist ziemlich gut; Sie sollten es in Betracht ziehen, bevor Sie Fragen dieser Art stellen: http://jung.sourceforge.net/doc/api/index.html