Übungen zu Praktische Informatik 2 SS 2001 Übung 4 Name: Tutor: Matrikelnummer: Punkte: Gruppe: Abzugeben bis: Do, 31. 5. 2001, 12:00 1 Labyrinth (10 Punkte) Gegeben sei ein Labyrinth (dargestellt als gewichteter, ungerichteter Graph). Es soll mittels Tiefensuche ein Ausgang aus diesem Labyrinth gefunden und der Weg ausgegeben werden. Überlegen Sie, wie Sie die Abbildung von einem Labyrinth auf diesen Graphen machen können. Geben Sie Beispiele an. Implementieren Sie einen entsprechenden Algorithmus. 2 Implementierung von Graphen (8 Punkte) Geben Sie Beispiele für Modelle der realen Welt, für die folgende Graphen verwendet werden könnten (möglichst genau passend): a) Azyklischer, gerichteter, gewichteter, zusammenhängender, nicht vollständiger Graph b) Zyklischer, ungerichteter, ungewichteter, zusammenhängender, nicht vollständiger Graph c) Zyklischer, gerichteter, gewichteter, unzusammenhängender, nicht vollständiger Graph d) Zyklischer, ungerichteter, ungewichteter, unzusammenhängender, vollständiger Graph Erklären Sie jeweils Ihr Modell. Achten Sie darauf, dass sich Ihre Modelle mit denen von Übung 3 unterscheiden. Wenn Sie ein Modell gefunden haben, wählen Sie dazu eine geeignete Implementierung für den Graphen aus (Adjazenzmatrix, Adjazenzliste, direkte Objektreferenzen) und erklären Sie warum diese Implementierung Ihnen am geeignetsten erscheint. Hinweis: Erklären Sie möglichst genau, wie Ihr Modell und dessen Implementierung aussieht. Wichtig ist die Erklärung, warum Ihrer Meinung nach der angegebene Graph dem Modell entspricht und am besten so implementiert werden sollte. Ohne Erklärung gibt es daher auch keine Punkte. Hinweis: Falls es Probleme mit dem Finden eines Modells gibt, dann geben Sie zumindest genau an, worin diese Probleme liegen. 3 Graphentraversierung mit DFS und BFS (3+3 Punkte) Geben Sie an, in welcher Reihenfolge die Knoten des Graphen besucht werden, wenn Sie den Graph a) mit Depth-First-Search und b) mit Breadth-First-Search beginnend bei H durchwandern, wobei die Söhne von links nach rechts besucht werden. Wenn ein Knoten mehrmals besucht würde, führen Sie auch diese Besuche (z.B. in Klammer) an. H C I F N T M K A