110 likes | 379 Views
Für die Darstellung eines Graphen eignet sich die sog. Adjazenzmatrix . Dabei handelt es sich um eine Tabelle, in der die Zeilen- und Spaltenüberschriften die Knotenbezeichner sind. In eine Zelle wird eine 1 eingetragen, wenn es zwischen den zugehörigen Knoten eine Kante gibt.
E N D
Für die Darstellung eines Graphen eignet sich die sog. Adjazenzmatrix . Dabei handelt es sich um eine Tabelle, in der die Zeilen- und Spaltenüberschriften die Knotenbezeichner sind. In eine Zelle wird eine 1 eingetragen, wenn es zwischen den zugehörigen Knoten eine Kante gibt. 3. Die Datenstruktur Graph 3.2 Repräsentation von Graphen Informatik 11 3. Datenstruktur Graph 3.2 Repräsentation von Graphen
In eine Zelle wird eine 1 eingetragen, wenn es zwischen den zugehörigen Knoten eine Kante gibt. Die Adjazenzmatrix ist symmetrisch zur Hauptdiagonale. 3.2 Repräsentation von Graphen Beispiel 1: Graph Adjazenzmatrix Informatik 11 3. Datenstruktur Graph 3.2 Repräsentation von Graphen
Bei einem gerichteten Graphen muss die Adjazenzmatrix nicht mehr symmetrisch zur Hauptdiagonale sein. 3.2 Repräsentation von Graphen Beispiel 2: Graph Adjazenzmatrix Informatik 11 3. Datenstruktur Graph 3.2 Repräsentation von Graphen
Bei einem gewichteten Graphen trägt man die Kantenwerte ein. 3.2 Repräsentation von Graphen Beispiel 3: Graph Adjazenzmatrix Informatik 11 3. Datenstruktur Graph 3.2 Repräsentation von Graphen
mat[0] = Feld mit 3 Elementen mat[1] = Feld mit 3 Elementen int[][] mat; public Matrix(){ mat = new int [hoehe] [breite]; Informatik 11 3. Datenstruktur Graph 3.2 Repräsentation von Graphen 3.2 Repräsentation von Graphen Implementierung einer Matrix in Java: Beispiel: (keine Adjazenzmatrix!)
public class Matrix{ int breite = 3; int hoehe = 2; int[][] mat; public Matrix(){ mat = new int [hoehe] [breite]; mat[0][0] = 1; mat[0][1] = 2; mat[0][2] = 3; mat[1][0] = 4; mat[1][1] = 5; mat[1][2] = 6; } } 3.2 Repräsentation Graphen Implementierung einer Matrix in Java: Informatik 11 3. Datenstruktur Graph 3.2 Repräsentation von Graphen
public void ausgabe(){ for(int j = 0; j< hoehe; j++){ for(int i = 0; i<breite; i++){ System.out.print( "mat[" + j + "] [" + i + "] = " + mat[j][i]+" "); } System.out.println(); } 3.2 Repräsentation Graphen Ausgabe der Matrix mit verschachtelten Schleifen: Informatik 11 3. Datenstruktur Graph 3.2 Repräsentation von Graphen
Informatik 11 3. Datenstruktur Graph 3.2 Repräsentation von Graphen 3.2 Repräsentation von Graphen Modellieren eines Graphen:
Knotenfeld: knoten[0] Bezeichner "A" Knotennummer 0; knoten[1] Bezeichner "B" Knotennummer 1; Matrix: 0 für die Elemente der Hauptdiagonale; -1 steht für eine nicht vorhandene Kante, diese Zelle bleibt bei der Ausgabe leer. Informatik 11 3. Datenstruktur Graph 3.2 Repräsentation von Graphen 3.2 Repräsentation von Graphen Verwalten von Knoten und Kanten:
Knotenfeld ergänzen; vorausgesetzt, der Knoten ist noch nicht vorhanden und die maximale Anzahl ist nicht überschritten Matrix: 0 und -1 in der neuen Spalte und der neuen Zeile ergänzen. Informatik 11 3. Datenstruktur Graph 3.2 Repräsentation von Graphen 3.2 Repräsentation von Graphen Einfügen eines neuen Knotens :
Matrix: Gewichtung eintragen 3.2 Repräsentation von Graphen Einfügen einer neuen Kante : Informatik 11 3. Datenstruktur Graph 3.2 Repräsentation von Graphen