Package directedGraph
Klasse AdjacencyListDirectedGraph<V>
java.lang.Object
directedGraph.AdjacencyListDirectedGraph<V>
- Typparameter:
V
- Knotentyp.
- Alle implementierten Schnittstellen:
DirectedGraph<V>
Implementierung von DirectedGraph mit einer doppelten TreeMap
für die Nachfolgerknoten und einer einer doppelten TreeMap
für die Vorgängerknoten.
Beachte: V muss vom Typ Comparable<V> sein.
Entspicht einer Adjazenzlisten-Implementierung mit schnellem Zugriff auf die Knoten.
- Seit:
- 1.8.2023
-
Konstruktorübersicht
Konstruktoren -
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.static void
toString()
-
Konstruktordetails
-
AdjacencyListDirectedGraph
public AdjacencyListDirectedGraph()
-
-
Methodendetails
-
addVertex
Beschreibung aus Schnittstelle kopiert:DirectedGraph
Fügt neuen Knoten zum Graph dazu.- Angegeben von:
addVertex
in SchnittstelleDirectedGraph<V>
- Parameter:
v
- Knoten- Gibt zurück:
- true, falls Knoten noch nicht vorhanden war.
-
addEdge
Beschreibung aus Schnittstelle kopiert:DirectedGraph
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.- Angegeben von:
addEdge
in SchnittstelleDirectedGraph<V>
- Parameter:
v
- Startknotenw
- Zielknotenweight
- Gewicht- Gibt zurück:
- true, falls Kante noch nicht vorhanden war.
-
addEdge
Beschreibung aus Schnittstelle kopiert:DirectedGraph
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.- Angegeben von:
addEdge
in SchnittstelleDirectedGraph<V>
- Parameter:
v
- Startknotenw
- Zielknoten- Gibt zurück:
- true, falls Kante noch nicht vorhanden war.
-
containsVertex
Beschreibung aus Schnittstelle kopiert:DirectedGraph
Prüft ob Knoten v im Graph vorhanden ist.- Angegeben von:
containsVertex
in SchnittstelleDirectedGraph<V>
- Parameter:
v
- Knoten- Gibt zurück:
- true, falls Knoten vorhanden ist.
-
containsEdge
Beschreibung aus Schnittstelle kopiert:DirectedGraph
Prüft ob Kante im Graph vorhanden ist.- Angegeben von:
containsEdge
in SchnittstelleDirectedGraph<V>
- Parameter:
v
- Startknotenw
- Endknoten- Gibt zurück:
- true, falls Kante vorhanden ist.
-
getWeight
Beschreibung aus Schnittstelle kopiert:DirectedGraph
Liefert Gewicht der Kante zurück.- Angegeben von:
getWeight
in SchnittstelleDirectedGraph<V>
- Parameter:
v
- Startknotenw
- Endknoten- Gibt zurück:
- Gewicht der Kante.
-
getInDegree
Beschreibung aus Schnittstelle kopiert:DirectedGraph
Liefert Eingangsgrad des Knotens v zurück. Das ist die Anzahl der Kanten mit Zielknoten v.- Angegeben von:
getInDegree
in SchnittstelleDirectedGraph<V>
- Parameter:
v
- Knoten- Gibt zurück:
- Knoteneingangsgrad
-
getOutDegree
Beschreibung aus Schnittstelle kopiert:DirectedGraph
Liefert Ausgangsgrad des Knotens v zurück. Das ist die Anzahl der Kanten mit Quellknoten v.- Angegeben von:
getOutDegree
in SchnittstelleDirectedGraph<V>
- Parameter:
v
- Knoten- Gibt zurück:
- Knotenausgangsgrad
-
getPredecessorVertexSet
Beschreibung aus Schnittstelle kopiert:DirectedGraph
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.- Angegeben von:
getPredecessorVertexSet
in SchnittstelleDirectedGraph<V>
- Parameter:
v
- Knoten- Gibt zurück:
- Knotenmenge
-
getSuccessorVertexSet
Beschreibung aus Schnittstelle kopiert:DirectedGraph
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.- Angegeben von:
getSuccessorVertexSet
in SchnittstelleDirectedGraph<V>
- Parameter:
v
- Knoten- Gibt zurück:
- Knotenmenge
-
getNumberOfVertexes
public int getNumberOfVertexes()Beschreibung aus Schnittstelle kopiert:DirectedGraph
Liefert Anzahl der Knoten im Graph zurück.- Angegeben von:
getNumberOfVertexes
in SchnittstelleDirectedGraph<V>
- Gibt zurück:
- Knotenzahl.
-
getNumberOfEdges
public int getNumberOfEdges()Beschreibung aus Schnittstelle kopiert:DirectedGraph
Liefert Anzahl der Kanten im Graph zurück.- Angegeben von:
getNumberOfEdges
in SchnittstelleDirectedGraph<V>
- Gibt zurück:
- Kantenzahl.
-
getVertexSet
Beschreibung aus Schnittstelle kopiert:DirectedGraph
Liefert eine nicht modifizierbare Sicht (unmodifiable view) auf die Menge aller Knoten im Graph zurück.- Angegeben von:
getVertexSet
in SchnittstelleDirectedGraph<V>
- Gibt zurück:
- Knotenmenge
-
invert
Beschreibung aus Schnittstelle kopiert:DirectedGraph
Erzeugt einen invertierten Graphen, indem jede Kante dieses Graphens in umgekehrter Richtung abgespeichert wird.- Angegeben von:
invert
in SchnittstelleDirectedGraph<V>
- Gibt zurück:
- invertierter Graph
-
toString
-
main
-