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 TypeMethodDescriptionbooleanFügt neue Kante (mit Gewicht 1) zum Graph dazu.booleanFügt neue Kante mit Gewicht weight zum Graph dazu.booleanFügt neuen Knoten zum Graph dazu.booleancontainsEdge(V v, V w)Prüft ob Kante im Graph vorhanden ist.booleancontainsVertex(V v)Prüft ob Knoten v im Graph vorhanden ist.intLiefert 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.intLiefert Anzahl der Kanten im Graph zurück.intLiefert Anzahl der Knoten im Graph zurück.Liefert eine nicht modifizierbare Sicht (unmodifiable view) auf die Menge aller Knoten im Graph zurück.doubleLiefert Gewicht der Kante zurück.static voidtoString()
-
Constructor Details
-
AdjacencyListUndirectedGraph
public AdjacencyListUndirectedGraph()
-
-
Method Details
-
addVertex
Description copied from interface:UndirectedGraphFügt neuen Knoten zum Graph dazu.- Specified by:
addVertexin interfaceUndirectedGraph<V>- Parameters:
v- Knoten- Returns:
- true, falls Knoten noch nicht vorhanden war.
-
addEdge
Description copied from interface:UndirectedGraphFü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:
addEdgein interfaceUndirectedGraph<V>- Parameters:
v- Startknotenw- Zielknotenweight- Gewicht- Returns:
- true, falls Kante noch nicht vorhanden war.
-
addEdge
Description copied from interface:UndirectedGraphFü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:
addEdgein interfaceUndirectedGraph<V>- Parameters:
v- Startknotenw- Zielknoten- Returns:
- true, falls Kante noch nicht vorhanden war.
-
containsVertex
Description copied from interface:UndirectedGraphPrüft ob Knoten v im Graph vorhanden ist.- Specified by:
containsVertexin interfaceUndirectedGraph<V>- Parameters:
v- Knoten- Returns:
- true, falls Knoten vorhanden ist.
-
containsEdge
Description copied from interface:UndirectedGraphPrüft ob Kante im Graph vorhanden ist.- Specified by:
containsEdgein interfaceUndirectedGraph<V>- Parameters:
v- Startknotenw- Endknoten- Returns:
- true, falls Kante vorhanden ist.
-
getWeight
Description copied from interface:UndirectedGraphLiefert Gewicht der Kante zurück.- Specified by:
getWeightin interfaceUndirectedGraph<V>- Parameters:
v- Startknotenw- Endknoten- Returns:
- Gewicht der Kante.
-
getDegree
Description copied from interface:UndirectedGraphLiefert Grad des Knotens v zurück. Das ist die Anzahl der Nachbarknoten v.- Specified by:
getDegreein interfaceUndirectedGraph<V>- Parameters:
v- Knoten- Returns:
- Knoteneingangsgrad
-
getNeighborSet
Description copied from interface:UndirectedGraphLiefert eine nicht modifizierbare Sicht (unmodifiable view) auf die Menge aller Nachbarknoten von v zurück.- Specified by:
getNeighborSetin interfaceUndirectedGraph<V>- Parameters:
v- Knoten- Returns:
- Knotenmenge
-
getNumberOfVertexes
public int getNumberOfVertexes()Description copied from interface:UndirectedGraphLiefert Anzahl der Knoten im Graph zurück.- Specified by:
getNumberOfVertexesin interfaceUndirectedGraph<V>- Returns:
- Knotenzahl.
-
getNumberOfEdges
public int getNumberOfEdges()Description copied from interface:UndirectedGraphLiefert Anzahl der Kanten im Graph zurück.- Specified by:
getNumberOfEdgesin interfaceUndirectedGraph<V>- Returns:
- Kantenzahl.
-
getVertexSet
Description copied from interface:UndirectedGraphLiefert eine nicht modifizierbare Sicht (unmodifiable view) auf die Menge aller Knoten im Graph zurück.- Specified by:
getVertexSetin interfaceUndirectedGraph<V>- Returns:
- Knotenmenge
-
toString
-
main
-