Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Graphen.

Ähnliche Präsentationen


Präsentation zum Thema: "Graphen."—  Präsentation transkript:

1 Graphen

2 Erarbeite dir das folgende Kapitel allein. Beachte dabei
Folge Schritt für Schritt den Anweisungen. Lies genau (vielleicht auch 2 Mal) und lass dir Zeit. Nach jeder Frage kann die zugehörige Lösung per Klick angezeigt werden. Lies die Lösung erst, nachdem du selber eingehend überlegt hast. Denn: alles, was du dir selbst herausfindest, bleibt (leichter) im Gedächtnis. Nimm ein Blatt Papier für den Hefteintrag und lasse 5 Zeilen für die Überschrift frei. Notiere die eingerahmten Kästen als Hefteintrag.

3 München Rosenheim Augsburg Lindau Stuttgart Würzburg Nürnberg Ulm
Du bist Vertreter bei der Firma „Klump&Klump“ und musst alle Städte, die dein Chef dir aufträgt, abfahren. Um dein Gehirn in Zukunft zu schonen, möchtest du einen Algorithmus schreiben, der bei einem gegebenen Graphen alle Knoten (hier: Städte) systematisch besucht. Da es ja nicht „dein Benzin ist“ und du nach Stunden bezahlt wirst, ist dir die Route egal: das heißt, Kanten und Knoten dürfen auch doppelt angefahren. Die Hauptsache ist, dass angefangen bei einem gegebenen Startknoten am Ende alle Knoten erreicht wurden. Das folgende Bild ist nur ein Beispiel für einen Graphen. Das heißt dein Algorithmus muss natürlich allgemein sein. Die folgenden Folien helfen dir bei der Entwicklung von Strategien für deinen Algorithmus. Schreibe den Inhalt der eingerahmten Kästen jeweils als Hefteintrag sauber ab. Lasse 5 Zeilen Platz für die Überschrift. München Rosenheim Augsburg Lindau Stuttgart Würzburg Nürnberg Ulm Regensb. Hof

4 München Rosenheim Augsburg Lindau Stuttgart Würzburg Nürnberg Ulm
Du beginnst deine Fahrt in München. Mach dir zunächst klar, welche Möglichkeiten du nun hast. Ein Algorithmus darf jedoch keine „Wahlmöglichkeit“ haben, sondern man muss eindeutig angeben, was „gemacht“ werden soll, falls es mehrere Möglichkeiten gibt. Strategie „Alphabet“: Wenn mehrere Wege möglich sind, dann werden die Orte immer dem Alphabet nach besucht. Nächster besuchter Ort ist also … München Rosenheim Augsburg Lindau Stuttgart Würzburg Nürnberg Ulm Regensb. Hof

5 München Rosenheim Augsburg Lindau Stuttgart Würzburg Nürnberg Ulm
…Augsburg. Warum ist die vorherige Strategie „Alphabet“ (für sich allein genommen) bereits jetzt nicht mehr brauchbar? Grund: Du würdest als nächstes wieder nach München fahren und dann wieder nach Augsburg usw. Ergänze nun die Strategie „Alphabet“ um eine weitere Strategie, so dass das obige Problem nicht mehr auftritt. Überlege gut bevor du dir die Lösung anzeigen lässt. Strategie „Markierung“: Jeder besuchte Ort wird markiert und Wege zu bereits markierten Orten werden bei der Auswahl der Verbindungen nicht berücksichtigt. München und Augsburg wurden also besucht und werden daher markiert (ein grüner Haken). München Rosenheim Augsburg Lindau Stuttgart Würzburg Nürnberg Ulm Regensb. Hof

6 München Rosenheim Augsburg Lindau Stuttgart Würzburg Nürnberg Ulm
Kombiniere die beiden Strategien. Welche sind die nächsten Orte, die besucht werden und warum geht es dann mit den beiden ersten Strategien an einem Ort nicht mehr weiter? Die beiden nächsten Orte, die nun besucht werden sind Ulm und Lindau. Von Augsburg aus wurden alle Orte schon besucht. Augsburg ist daher abgearbeitet (daher 2 Haken) In Lindau kann man nur zurück nach Ulm, jedoch war man dort schon. Überlege dir nun eine dritte Strategie, für diesen „Problemfall“. Strategie „Zurück“: Wenn es an einem Ort nicht weitergeht, dann kehre zu dem Nachbarort zurück, von dem aus dieser Ort besucht wurde. München Rosenheim Augsburg Lindau Stuttgart Würzburg Nürnberg Ulm Regensb. Hof

7 München Rosenheim Augsburg Lindau Stuttgart Würzburg Nürnberg Ulm
Kombiniere die beiden Strategien. Welche sind die nächsten Orte, die besucht werden und warum geht es dann mit den beiden ersten Strategien an einem Ort nicht mehr weiter? Die beiden nächsten Orte, die nun besucht werden sind Ulm und Lindau. In Lindau kann man nur zurück nach Ulm, jedoch war man dort schon. Überlege dir nun eine dritte Strategie, für diesen „Problemfall“. Strategie „Zurück“: Wenn es an einem Ort nicht weitergeht, dann kehre zu dem Nachbarort zurück, von dem aus dieser Ort besucht wurde. Du musst also nach Ulm zurückkehren. Lindau ist nun besucht und keine unbesuchten Orte sind mehr von da aus erreichbar (daher zwei Haken). Finde nun heraus, in welcher Reihenfolge die Orte besucht werden, wenn du alle drei Strategien anwendest. Ergänze also: München, Augsburg, Ulm, Lindau, … (Notiere die Lösung auf ein Schmierblatt!) München Rosenheim Augsburg Lindau Stuttgart Würzburg Nürnberg Ulm Regensb. Hof

8 LÖSUNG SCHRITT FÜR SCHRITT Überlege noch einmal bei jedem Schritt, aufgrund welcher Strategie ein Schritt ausgeführt wird! München Rosenheim Augsburg Lindau Stuttgart Würzburg Nürnberg Ulm Regensb. Hof

9 Lösung Schritt für Schritt
München Rosenheim Augsburg Lindau Stuttgart Würzburg Nürnberg Ulm Regensb. Hof

10 Lösung Schritt für Schritt
München Rosenheim Augsburg Lindau Stuttgart Würzburg Nürnberg Ulm Regensb. Hof

11 Lösung Schritt für Schritt
München Rosenheim Augsburg Lindau Stuttgart Würzburg Nürnberg Ulm Regensb. Hof

12 Lösung Schritt für Schritt
München Rosenheim Augsburg Lindau Stuttgart Würzburg Nürnberg Ulm Regensb. Hof

13 Lösung Schritt für Schritt
München Rosenheim Augsburg Lindau Stuttgart Würzburg Nürnberg Ulm Regensb. Hof

14 Lösung Schritt für Schritt
München Rosenheim Augsburg Lindau Stuttgart Würzburg Nürnberg Ulm Regensb. Hof

15 Lösung Schritt für Schritt
München Rosenheim Augsburg Lindau Stuttgart Würzburg Nürnberg Ulm Regensb. Hof

16 Lösung Schritt für Schritt
München Rosenheim Augsburg Lindau Stuttgart Würzburg Nürnberg Ulm Regensb. Hof

17 Lösung Schritt für Schritt
München Rosenheim Augsburg Lindau Stuttgart Würzburg Nürnberg Ulm Regensb. Hof WICHTIG! Nun geht´s nicht weiter, weil alle umliegenden Ort bereits besucht wurden. Das heißt Strategie „zurück“ muss nun angewendet werden. Nach Regensburg kam man von Nürnberg aus: also zurück nach Nürnberg!

18 Lösung Schritt für Schritt
München Rosenheim Augsburg Lindau Stuttgart Würzburg Nürnberg Ulm Regensb. Hof Auch in Nürnberg geht es nicht weiter. Daher zurück nach Hof usw. Zurück in München muss jetzt noch Rosenheim besucht werden.

19 Lösung Schritt für Schritt
München Rosenheim Augsburg Lindau Stuttgart Würzburg Nürnberg Ulm Regensb. Hof

20 Lösung Schritt für Schritt
München Rosenheim Augsburg Lindau Stuttgart Würzburg Nürnberg Ulm Regensb. Hof Nun wieder zurück nach München. Hat München noch weitere Ort, die erreicht werden könnten und nicht besucht sind? Nein! Das heißt: München ist nun – wie alle anderen Knoten auch – komplett abgearbeitet. Fertig!

21 Zeichne nun den graphen ausschließlich mit den beim durchlauf verwendeten Kanten auf.
München Rosenheim Augsburg Lindau Stuttgart Würzburg Nürnberg Ulm Regensb. Hof

22 Lösung Überlege, welcher besondere Graph nun vorliegt. München
Rosenheim Augsburg Lindau Stuttgart Würzburg Nürnberg Ulm Regensb. Hof Überlege, welcher besondere Graph nun vorliegt.

23 Lösung: Es ist ein Baum (aber kein Binärbaum) mit der Wurzel „München“
Rosenheim Augsburg Lindau Stuttgart Würzburg Nürnberg Ulm Regensb. Hof

24 Ergänze nun deinen Hefteintrag um folgende Überschrift und folgenden Text!
Graphendurchlauf Oft müssen alle Knoten eines Graphen „besucht“ werden. Dies nennt man Graphendurchlauf. Tiefensuche – ein möglicher Algorithmus für einen Graphendurchlauf Hier drunter folgen die von dir notierten Strategien!

25 Übungsaufgabe: Gib nun die Reihenfolge an, nach der die Orte des folgenden Graphen mit unserem Verfahren besucht werden. Du startest in Vilshofen. Notiere den genauen Weg; auch wie du jeweils zurückgehst. Vilshofen Aicha Sandbach Ortenburg Passau Neustift

26 Lösung Vilshofen, Aicha, Passau, Ortenburg, Neustift, Sandbach

27 Von der Idee zum Programm
Tiefensuche

28 Jeder Knoten Muss wissen, ob er schon besucht wurde
Wie kann die Klasse KNOTEN dazu erweitert werden? Die Klasse KNOTEN muss um ein Attribut markierung erweitert werden. Vergiss beim Programmieren später nicht die zugehörigen Methoden (markierungGeben und markierungSetzen)

29 Bevor die Tiefensuche begonnen werden kann, müssen zunächst die Markierungen sämtlicher Knoten auf false gesetzt werden. Dann kann die eigentliche Tiefensuche beginnen. Ergänze die folgende Methode.

30 Nun muss noch die „eigentliche“ Methode TiefensucheStarten(int startknoten) implementiert werden.

31 Kopiere dir vorher jedoch das Paket GraphOhneTiefensucheVorlage (im Austauschorder) in deinen Ordner und arbeite dann an diesem weiter. Die Methode Tiefensuche ist bereits enthalten und die Methode TiefensucheStarten(int startknoten) muss ergänzt werden. Viel Erfolg!


Herunterladen ppt "Graphen."

Ähnliche Präsentationen


Google-Anzeigen