Package pi.dsa.graph
Class GraphArrayMatrix
java.lang.Object
pi.dsa.graph.Graph
pi.dsa.graph.GraphArrayMatrix
- Direct Known Subclasses:
BreadthFirstSearch,DepthFirstSearch
Ein Graph, der über ein zweidimensionales Feld / Array implementiert ist.
- Since:
- 0.36.0
- Author:
- Josef Friedrich
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected int[][]Das 2-dimensionale Feld der Adjazenzmatrix. -
Constructor Summary
ConstructorsConstructorDescriptionErstellt eine Adjazenz-Matrix mit der Größe von42.GraphArrayMatrix(int matrixSize) Erzeugt einen neuen Graphen unter Angabe der Größe der Matrix. -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddEdgeIntoDataStructure(String from, String to, int weight, boolean directed) Einfügen einer Kante in den Graphen.protected voidaddNodeIntoDataStructure(String label, double x, double y) Fügt einen neuen Knoten in den Datenstruktur (z.ArrayList<pi.dsa.graph.EdgesOfNodePair>intgetEdgeWeight(String from, String to) Gibt die Gewichtung einer Kante zurück.voidprint()Gibt die Adjazenzmatrix des Graphen nach Zeilen und Spalten formatiert in der Konsole aus.
-
Field Details
-
matrix
protected int[][] matrixDas 2-dimensionale Feld der Adjazenzmatrix.
-
-
Constructor Details
-
GraphArrayMatrix
public GraphArrayMatrix(int matrixSize) Erzeugt einen neuen Graphen unter Angabe der Größe der Matrix. Die Matrix wird automatisch vergrößert.- Parameters:
matrixSize- Die Größe der Matrix.
-
GraphArrayMatrix
public GraphArrayMatrix()Erstellt eine Adjazenz-Matrix mit der Größe von42. Die Matrix wird automatisch vergrößert.
-
-
Method Details
-
getEdgeWeight
Gibt die Gewichtung einer Kante zurück.Die Kante ist durch einen Anfangsknoten und einen Endknoten festgelegt.
- Parameters:
from- Der Bezeichner des Anfangsknotens.to- Der Bezeichner des Endknotens.- Returns:
- Die Gewichtung der Kante.
-
addNodeIntoDataStructure
Description copied from class:GraphFügt einen neuen Knoten in den Datenstruktur (z. B. Matrix oder Liste) der aktuellen Graph-Implementation ein.Diese Methode wird aufgerufen, wenn bereits ein neuer Knoten vom Datentyp
GraphNodeerzeugt wurde. Außerdem ist schon überprüft worden, ob der Bezeichner des Knotens eindeutig ist.- Specified by:
addNodeIntoDataStructurein classGraph- Parameters:
label- Der Bezeichner des neuen Knotens, der dem Graphen hinzugefügt wird.x- Die x-Koordinate des Knotens in Meter.y- Die y-Koordinate des Knotens in Meter.
-
addEdgeIntoDataStructure
Description copied from class:GraphEinfügen einer Kante in den Graphen.Die Kante ist durch einen Anfangsknoten und einen Endknoten festgelegt, hat eine Gewichtung und kann gerichtet sein.
- Specified by:
addEdgeIntoDataStructurein classGraph- Parameters:
from- Der Bezeichner des Anfangsknotens.to- Der Bezeichner des Endknotens.weight- Die Gewichtung der Kante.directed- Ist die Kante gerichtet?
-
getAllEdgesOfNodePairs
-
print
public void print()Gibt die Adjazenzmatrix des Graphen nach Zeilen und Spalten formatiert in der Konsole aus. Als Spaltenbreite wurde hier 4 Zeichen gewählt.
-