17
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 – Graphen Dies ist ein Graph, weil er Knoten und Kanten hat! © 2010 Manuel Friedrich - eMail:

Embed Size (px)

Citation preview

Page 1: Schiller-Gymnasium Hof Manuel Friedrich OStR, Q11 - Informatik – Graphen Dies ist ein Graph, weil er Knoten und Kanten hat! © 2010 Manuel Friedrich - eMail:

Schiller-Gymnasium HofManuel Friedrich OStR, Q11 - Informatik – Graphen

Dies ist ein Graph,weil er Knoten und Kantenhat!

© 2010 Manuel Friedrich - eMail: [email protected]

Page 2: Schiller-Gymnasium Hof Manuel Friedrich OStR, Q11 - Informatik – Graphen Dies ist ein Graph, weil er Knoten und Kanten hat! © 2010 Manuel Friedrich - eMail:

Schiller-Gymnasium HofManuel Friedrich OStR, Q11 - Informatik - Graph

© 2010 Manuel Friedrich - eMail: [email protected]

Auch ein Baum istein Graph, Mann…!!!

Page 3: Schiller-Gymnasium Hof Manuel Friedrich OStR, Q11 - Informatik – Graphen Dies ist ein Graph, weil er Knoten und Kanten hat! © 2010 Manuel Friedrich - eMail:

Schiller-Gymnasium HofManuel Friedrich OStR, Q11 - Informatik - Graph

© 2010 Manuel Friedrich - eMail: [email protected]

Ein Graph besteht aus Knoten

Page 4: Schiller-Gymnasium Hof Manuel Friedrich OStR, Q11 - Informatik – Graphen Dies ist ein Graph, weil er Knoten und Kanten hat! © 2010 Manuel Friedrich - eMail:

Schiller-Gymnasium HofManuel Friedrich OStR, Q11 - Informatik - Graph

© 2010 Manuel Friedrich - eMail: [email protected]

Ein Baum besteht ausKnoten und Kanten.

Jede Kante verbindetzwei Knoten.

Page 5: Schiller-Gymnasium Hof Manuel Friedrich OStR, Q11 - Informatik – Graphen Dies ist ein Graph, weil er Knoten und Kanten hat! © 2010 Manuel Friedrich - eMail:

Schiller-Gymnasium HofManuel Friedrich OStR, Q11 - Informatik - Graph

© 2010 Manuel Friedrich - eMail: [email protected]

Ein Baum besteht ausKnoten und Kanten.

Jede Kante verbindetzwei Knoten.

Page 6: Schiller-Gymnasium Hof Manuel Friedrich OStR, Q11 - Informatik – Graphen Dies ist ein Graph, weil er Knoten und Kanten hat! © 2010 Manuel Friedrich - eMail:

Schiller-Gymnasium HofManuel Friedrich OStR, Q11 - Informatik - Graph

© 2010 Manuel Friedrich - eMail: [email protected]

Ein Knoten hat einDatenelement mitInformationen, z. B.den Namen einesKnotens.

A

F K

U H

Z B

W

M

Page 7: Schiller-Gymnasium Hof Manuel Friedrich OStR, Q11 - Informatik – Graphen Dies ist ein Graph, weil er Knoten und Kanten hat! © 2010 Manuel Friedrich - eMail:

Schiller-Gymnasium HofManuel Friedrich OStR, Q11 - Informatik - Graph

© 2010 Manuel Friedrich - eMail: [email protected]

Ein Pfad im Graphen ist z. B. „ZUFAKW“ A

F K

U H

Z B

W

M

Page 8: Schiller-Gymnasium Hof Manuel Friedrich OStR, Q11 - Informatik – Graphen Dies ist ein Graph, weil er Knoten und Kanten hat! © 2010 Manuel Friedrich - eMail:

Schiller-Gymnasium HofManuel Friedrich OStR, Q11 - Informatik - Graph

© 2010 Manuel Friedrich - eMail: [email protected]

Das ist ein Zyklus,wenn Start und Zielgleich sind.

Page 9: Schiller-Gymnasium Hof Manuel Friedrich OStR, Q11 - Informatik – Graphen Dies ist ein Graph, weil er Knoten und Kanten hat! © 2010 Manuel Friedrich - eMail:

Schiller-Gymnasium HofManuel Friedrich OStR, Q11 - Informatik - Graph

© 2010 Manuel Friedrich - eMail: [email protected]

Das ist ein ungerichteter Graphohne Bewertung

Page 10: Schiller-Gymnasium Hof Manuel Friedrich OStR, Q11 - Informatik – Graphen Dies ist ein Graph, weil er Knoten und Kanten hat! © 2010 Manuel Friedrich - eMail:

Schiller-Gymnasium HofManuel Friedrich OStR, Q11 - Informatik - Graph

© 2010 Manuel Friedrich - eMail: [email protected]

Das ist ein gerichteter Graph mit Bewertung

Page 11: Schiller-Gymnasium Hof Manuel Friedrich OStR, Q11 - Informatik – Graphen Dies ist ein Graph, weil er Knoten und Kanten hat! © 2010 Manuel Friedrich - eMail:

Schiller-Gymnasium HofManuel Friedrich OStR, Q11 - Informatik - Graph

© 2010 Manuel Friedrich - eMail: [email protected]

Klassendiagramm

Page 12: Schiller-Gymnasium Hof Manuel Friedrich OStR, Q11 - Informatik – Graphen Dies ist ein Graph, weil er Knoten und Kanten hat! © 2010 Manuel Friedrich - eMail:

Schiller-Gymnasium HofManuel Friedrich OStR, Q11 - Informatik - Graph

© 2010 Manuel Friedrich - eMail: [email protected]

Knotenfeldals Array

Knoten[] knotenfeld=new Knoten[7]

Page 13: Schiller-Gymnasium Hof Manuel Friedrich OStR, Q11 - Informatik – Graphen Dies ist ein Graph, weil er Knoten und Kanten hat! © 2010 Manuel Friedrich - eMail:

Schiller-Gymnasium HofManuel Friedrich OStR, Q11 - Informatik - Graph

© 2010 Manuel Friedrich - eMail: [email protected]

Adjazenzmatrixals zweidimensionales Array

int[][] adja=new int[7][7]

Page 14: Schiller-Gymnasium Hof Manuel Friedrich OStR, Q11 - Informatik – Graphen Dies ist ein Graph, weil er Knoten und Kanten hat! © 2010 Manuel Friedrich - eMail:

Schiller-Gymnasium HofManuel Friedrich OStR, Q11 - Informatik - Graph

© 2010 Manuel Friedrich - eMail: [email protected]

Jetzt geht es los….

Erstelle die Klasse Graph!

Wir brauchen ein Knotenfeldund eine Adjazenzmatrix!

Die maximale Anzahl soll als Pramater im Konstruktor bestimmt werden.

Setze alle Werte der Adjazenzmatrix auf -1! Das Knotenfeld bleibt erstmal leer!

Page 15: Schiller-Gymnasium Hof Manuel Friedrich OStR, Q11 - Informatik – Graphen Dies ist ein Graph, weil er Knoten und Kanten hat! © 2010 Manuel Friedrich - eMail:

Schiller-Gymnasium HofManuel Friedrich OStR, Q11 - Informatik - Graph

© 2010 Manuel Friedrich - eMail: [email protected]

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 Get-Methode für das Datenelemnt.

Page 16: Schiller-Gymnasium Hof Manuel Friedrich OStR, Q11 - Informatik – Graphen Dies ist ein Graph, weil er Knoten und Kanten hat! © 2010 Manuel Friedrich - eMail:

Schiller-Gymnasium HofManuel Friedrich OStR, Q11 - Informatik - Graph

© 2010 Manuel Friedrich - eMail: [email protected]

Nun noch die Klasse Datenelement!

Wir erstellen ein „Flugnetz“ – jedesDatenelement 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“.

Page 17: Schiller-Gymnasium Hof Manuel Friedrich OStR, Q11 - Informatik – Graphen Dies ist ein Graph, weil er Knoten und Kanten hat! © 2010 Manuel Friedrich - eMail:

Schiller-Gymnasium HofManuel Friedrich OStR, Q11 - Informatik - Graph

© 2010 Manuel Friedrich - eMail: [email protected]

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?