Knoten[] - von Manuel Friedrich

Werbung
Schiller-Gymnasium Hof
Manuel Friedrich OStR,
Q11 - Informatik – Graphen
Dies ist ein Graph,
weil er Knoten und Kanten
hat! 
© 2010 Manuel Friedrich - eMail: [email protected]
Schiller-Gymnasium Hof
Manuel Friedrich OStR,
Q11 - Informatik - Graph
Auch ein Baum ist
ein Graph, Mann…!!!
© 2010 Manuel Friedrich - eMail: [email protected]
Schiller-Gymnasium Hof
Manuel Friedrich OStR,
Q11 - Informatik - Graph
Ein Graph besteht
aus Knoten
© 2010 Manuel Friedrich - eMail: [email protected]
Schiller-Gymnasium Hof
Manuel Friedrich OStR,
Q11 - Informatik - Graph
Ein Baum besteht aus
Knoten und Kanten.
Jede Kante verbindet
zwei Knoten.
© 2010 Manuel Friedrich - eMail: [email protected]
Schiller-Gymnasium Hof
Manuel Friedrich OStR,
Q11 - Informatik - Graph
Ein Baum besteht aus
Knoten und Kanten.
Jede Kante verbindet
zwei Knoten.
© 2010 Manuel Friedrich - eMail: [email protected]
Schiller-Gymnasium Hof
Manuel Friedrich OStR,
Q11 - Informatik - Graph
Ein Knoten hat ein
Datenelement mit
Informationen, z. B.
den Namen eines
Knotens.
A
F
U
W
H
Z
© 2010 Manuel Friedrich - eMail: [email protected]
K
B
M
Schiller-Gymnasium Hof
Manuel Friedrich OStR,
Q11 - Informatik - Graph
Ein Pfad im Graphen
ist z. B. „ZUFAKW“
A
F
U
W
H
Z
© 2010 Manuel Friedrich - eMail: [email protected]
K
B
M
Schiller-Gymnasium Hof
Manuel Friedrich OStR,
Q11 - Informatik - Graph
Das ist ein Zyklus,
wenn Start und Ziel
gleich sind.
© 2010 Manuel Friedrich - eMail: [email protected]
Schiller-Gymnasium Hof
Manuel Friedrich OStR,
Q11 - Informatik - Graph
Das ist ein
ungerichteter Graph
ohne Bewertung
© 2010 Manuel Friedrich - eMail: [email protected]
Schiller-Gymnasium Hof
Manuel Friedrich OStR,
Q11 - Informatik - Graph
Das ist ein
gerichteter Graph
mit Bewertung
© 2010 Manuel Friedrich - eMail: [email protected]
Schiller-Gymnasium Hof
Manuel Friedrich OStR,
Q11 - Informatik - Graph
Klassendiagramm
© 2010 Manuel Friedrich - eMail: [email protected]
Schiller-Gymnasium Hof
Manuel Friedrich OStR,
Q11 - Informatik - Graph
Knotenfeld
als Array
Knoten[]
knotenfeld=new
Knoten[7]
© 2010 Manuel Friedrich - eMail: [email protected]
Schiller-Gymnasium Hof
Manuel Friedrich OStR,
Q11 - Informatik - Graph
Adjazenzmatrix
als zweidimensionales
Array
int[][] adja=new
int[7][7]
© 2010 Manuel Friedrich - eMail: [email protected]
Schiller-Gymnasium Hof
Manuel Friedrich OStR,
Q11 - Informatik - Graph
Jetzt geht es los….
Erstelle die Klasse Graph!
Wir brauchen ein Knotenfeld
und eine Adjazenzmatrix!
Die maximale Anzahl soll als Pramater im
Konstruktor bestimmt werden.
Setze alle Werte der Adjazenzmatrix auf
-1! Das Knotenfeld bleibt erstmal leer!
© 2010 Manuel Friedrich - eMail: [email protected]
Schiller-Gymnasium Hof
Manuel Friedrich OStR,
Q11 - Informatik - Graph
Erstelle die Klasse Knoten!
Als Attribut brauchen wir ein
Datenelement daten!
Es soll einen Kontruktor mit einem
Datenelement als Kontruktor geben!
Außerdem brauchen wir eine GetMethode für das Datenelemnt.
© 2010 Manuel Friedrich - eMail: [email protected]
Schiller-Gymnasium Hof
Manuel Friedrich OStR,
Q11 - Informatik - Graph
Nun noch die Klasse Datenelement!
Wir erstellen ein „Flugnetz“ – jedes
Datenelement hat einen Ortsnamen, ein
Land in dem sich der Flughafen befindet
und eine Währung des Landes, alle drei
Parameter sind Strings.
Die Methode ausgeben() liefert einen
schönen Satz, z. B.
„Der Flughafen Frankfurt liegt in
Deutschland.“ In Deutschland ist die
Wähung „EUR“.
© 2010 Manuel Friedrich - eMail: [email protected]
Schiller-Gymnasium Hof
Manuel Friedrich OStR,
Q11 - Informatik - Graph
Unser nächstes Ziel! Einen Knoten und Kanten hinzufügen.
Welche Informationen brauchen wir dafür?
Wo müssen jetzt überall Veränderungen im Knotenfeld und in
der Adjazenzmatrix vorgenommen werden?
Welche Variable(n) müssen wir einführen?
© 2010 Manuel Friedrich - eMail: [email protected]
Herunterladen