Package undirectedGraph
Class AdjacencyListUndirectedGraph<V>
java.lang.Object
undirectedGraph.AdjacencyListUndirectedGraph<V>
- Type Parameters:
V
- Knotentyp.
- All Implemented Interfaces:
UndirectedGraph<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.
- Since:
- 19.03.2018
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionboolean
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
Liefert Grad des Knotens v zurück.getNeighborSet(V v)
Liefert eine nicht modifizierbare Sicht (unmodifiable view) auf die Menge aller Nachbarknoten von v zurück.int
Liefert Anzahl der Kanten im Graph zurück.int
Liefert Anzahl der Knoten im Graph 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.static void
toString()
-
Constructor Details
-
AdjacencyListUndirectedGraph
public AdjacencyListUndirectedGraph()
-
-
Method Details
-
addVertex
Description copied from interface:UndirectedGraph
Fügt neuen Knoten zum Graph dazu.- Specified by:
addVertex
in interfaceUndirectedGraph<V>
- Parameters:
v
- Knoten- Returns:
- true, falls Knoten noch nicht vorhanden war.
-
addEdge
Description copied from interface:UndirectedGraph
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.- Specified by:
addEdge
in interfaceUndirectedGraph<V>
- Parameters:
v
- Startknotenw
- Zielknotenweight
- Gewicht- Returns:
- true, falls Kante noch nicht vorhanden war.
-
addEdge
Description copied from interface:UndirectedGraph
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.- Specified by:
addEdge
in interfaceUndirectedGraph<V>
- Parameters:
v
- Startknotenw
- Zielknoten- Returns:
- true, falls Kante noch nicht vorhanden war.
-
containsVertex
Description copied from interface:UndirectedGraph
Prüft ob Knoten v im Graph vorhanden ist.- Specified by:
containsVertex
in interfaceUndirectedGraph<V>
- Parameters:
v
- Knoten- Returns:
- true, falls Knoten vorhanden ist.
-
containsEdge
Description copied from interface:UndirectedGraph
Prüft ob Kante im Graph vorhanden ist.- Specified by:
containsEdge
in interfaceUndirectedGraph<V>
- Parameters:
v
- Startknotenw
- Endknoten- Returns:
- true, falls Kante vorhanden ist.
-
getWeight
Description copied from interface:UndirectedGraph
Liefert Gewicht der Kante zurück.- Specified by:
getWeight
in interfaceUndirectedGraph<V>
- Parameters:
v
- Startknotenw
- Endknoten- Returns:
- Gewicht der Kante.
-
getDegree
Description copied from interface:UndirectedGraph
Liefert Grad des Knotens v zurück. Das ist die Anzahl der Nachbarknoten v.- Specified by:
getDegree
in interfaceUndirectedGraph<V>
- Parameters:
v
- Knoten- Returns:
- Knoteneingangsgrad
-
getNeighborSet
Description copied from interface:UndirectedGraph
Liefert eine nicht modifizierbare Sicht (unmodifiable view) auf die Menge aller Nachbarknoten von v zurück.- Specified by:
getNeighborSet
in interfaceUndirectedGraph<V>
- Parameters:
v
- Knoten- Returns:
- Knotenmenge
-
getNumberOfVertexes
public int getNumberOfVertexes()Description copied from interface:UndirectedGraph
Liefert Anzahl der Knoten im Graph zurück.- Specified by:
getNumberOfVertexes
in interfaceUndirectedGraph<V>
- Returns:
- Knotenzahl.
-
getNumberOfEdges
public int getNumberOfEdges()Description copied from interface:UndirectedGraph
Liefert Anzahl der Kanten im Graph zurück.- Specified by:
getNumberOfEdges
in interfaceUndirectedGraph<V>
- Returns:
- Kantenzahl.
-
getVertexSet
Description copied from interface:UndirectedGraph
Liefert eine nicht modifizierbare Sicht (unmodifiable view) auf die Menge aller Knoten im Graph zurück.- Specified by:
getVertexSet
in interfaceUndirectedGraph<V>
- Returns:
- Knotenmenge
-
toString
-
main
-