Package directedGraph
Schnittstelle DirectedGraph<V>
- Typparameter:
V
- Knotentyp.
- Alle bekannten Implementierungsklassen:
AdjacencyListDirectedGraph
public interface DirectedGraph<V>
Graph mit gerichteten Kanten.
Mit g.addEdge(v,w, weight) wird eine gerichtete Kante von v nach w mit dem Gewicht weight einfügt.
Falls kein Gewicht angegeben wird, dann ist das Gewichte implizit auf 1 gesetzt.
Der Graph einthält keine Mehrfachkanten.
- Seit:
- 22.03.2018
-
Methodenübersicht
Modifizierer und TypMethodeBeschreibungboolean
Fügt neue Kante (mit Gewicht 1) zum Graph dazu.boolean
Fügt neue Kante mit Gewicht weight zum Graph dazu.boolean
Fügt neuen Knoten zum Graph dazu.boolean
containsEdge
(V v, V w) Prüft ob Kante im Graph vorhanden ist.boolean
containsVertex
(V v) Prüft ob Knoten v im Graph vorhanden ist.int
getInDegree
(V v) Liefert Eingangsgrad des Knotens v zurück.int
Liefert Anzahl der Kanten im Graph zurück.int
Liefert Anzahl der Knoten im Graph zurück.int
getOutDegree
(V v) Liefert Ausgangsgrad des Knotens v zurück.Liefert eine nicht modifizierbare Sicht (unmodifiable view) auf die Menge aller Vorgängerknoten von v zurück.Liefert eine nicht modifizierbare Sicht (unmodifiable view) auf die Menge aller Nachfolgerknoten von v zurück.Liefert eine nicht modifizierbare Sicht (unmodifiable view) auf die Menge aller Knoten im Graph zurück.double
Liefert Gewicht der Kante zurück.invert()
Erzeugt einen invertierten Graphen, indem jede Kante dieses Graphens in umgekehrter Richtung abgespeichert wird.
-
Methodendetails
-
addVertex
Fügt neuen Knoten zum Graph dazu.- Parameter:
v
- Knoten- Gibt zurück:
- true, falls Knoten noch nicht vorhanden war.
-
addEdge
Fügt neue Kante (mit Gewicht 1) zum Graph dazu. Falls einer der beiden Knoten noch nicht im Graphen vorhanden ist, dann wird er dazugefügt. Falls die Kante schon vorhanden ist, dann wird das Gewicht mit 1 überschrieben.- Parameter:
v
- Startknotenw
- Zielknoten- Gibt zurück:
- true, falls Kante noch nicht vorhanden war.
-
addEdge
Fügt neue Kante mit Gewicht weight zum Graph dazu. Falls einer der beiden Knoten noch nicht im Graphen vorhanden ist, dann wird er dazugefügt. Falls die Kante schon vorhanden ist, dann wird das Gewicht mit weight überschrieben.- Parameter:
v
- Startknotenw
- Zielknotenweight
- Gewicht- Gibt zurück:
- true, falls Kante noch nicht vorhanden war.
-
containsVertex
Prüft ob Knoten v im Graph vorhanden ist.- Parameter:
v
- Knoten- Gibt zurück:
- true, falls Knoten vorhanden ist.
-
containsEdge
Prüft ob Kante im Graph vorhanden ist.- Parameter:
v
- Startknotenw
- Endknoten- Gibt zurück:
- true, falls Kante vorhanden ist.
-
getWeight
Liefert Gewicht der Kante zurück.- Parameter:
v
- Startknotenw
- Endknoten- Gibt zurück:
- Gewicht der Kante.
- Löst aus:
IllegalArgumentException
- falls die Kante nicht existiert.
-
getNumberOfVertexes
int getNumberOfVertexes()Liefert Anzahl der Knoten im Graph zurück.- Gibt zurück:
- Knotenzahl.
-
getNumberOfEdges
int getNumberOfEdges()Liefert Anzahl der Kanten im Graph zurück.- Gibt zurück:
- Kantenzahl.
-
getVertexSet
Liefert eine nicht modifizierbare Sicht (unmodifiable view) auf die Menge aller Knoten im Graph zurück.- Gibt zurück:
- Knotenmenge
-
getInDegree
Liefert Eingangsgrad des Knotens v zurück. Das ist die Anzahl der Kanten mit Zielknoten v.- Parameter:
v
- Knoten- Gibt zurück:
- Knoteneingangsgrad
- Löst aus:
IllegalArgumentException
- falls Knoten v nicht im Graph vorhanden ist.
-
getOutDegree
Liefert Ausgangsgrad des Knotens v zurück. Das ist die Anzahl der Kanten mit Quellknoten v.- Parameter:
v
- Knoten- Gibt zurück:
- Knotenausgangsgrad
- Löst aus:
IllegalArgumentException
- falls Knoten v nicht im Graph vorhanden ist.
-
getPredecessorVertexSet
Liefert eine nicht modifizierbare Sicht (unmodifiable view) auf die Menge aller Vorgängerknoten von v zurück. Das sind alle die Knoten, von denen eine Kante zu v führt.- Parameter:
v
- Knoten- Gibt zurück:
- Knotenmenge
- Löst aus:
IllegalArgumentException
- falls Knoten v nicht im Graph vorhanden ist.
-
getSuccessorVertexSet
Liefert eine nicht modifizierbare Sicht (unmodifiable view) auf die Menge aller Nachfolgerknoten von v zurück. Das sind alle die Knoten, zu denen eine Kante von v führt.- Parameter:
v
- Knoten- Gibt zurück:
- Knotenmenge
- Löst aus:
IllegalArgumentException
- falls Knoten v nicht im Graph vorhanden ist.
-
invert
DirectedGraph<V> invert()Erzeugt einen invertierten Graphen, indem jede Kante dieses Graphens in umgekehrter Richtung abgespeichert wird.- Gibt zurück:
- invertierter Graph
-