Einige Dörfer in den Bergen sind über ein Straßennetz zu erreichen. Eine Hauptstraße führt zum ersten Dorf des Tales. Nach einem Unwetter sind einige Dörfer aber nicht mehr erreichbar und melden SOS.
Daraus lässt sich auf den Zustand der Straßen schließen. Es gibt drei Möglichkeiten:
befahrbar ist
Die Hauptstraße ist immer befahrbar. Unten ist das Straßennetz abgebildet. Die Hauptstraße führt zu Dorf A ganz links oben.
(A) Gib für jede andere Straße ihren Zustand an.
Mit Hilfe des folgenden Algorithmus kann man den Zustand der Straßen automatisch ermitteln:
(B) Begründe, warum eine Straße zwischen einem erreichbaren und einem nicht erreichbaren Dorf auf jeden Fall auf "nicht befahrbar" gesetzt werden muss.
(C) Erläutere die Breitensuche und wie sie in Schritt 3.b) zur Bestimmung der erreichbaren Dörfer eingesetzt werden kann.
(D) Implementiere die Methode bestimmeStrassenzustaende(g: Graph, startknoten: Knoten)
, die den
Straßenzustand aller Straßen als Status der Kanten im Graphen speichert. Knoten, die Städte mit "SOS" repräsentieren, sind markiert. Sie können davon ausgehen, dass die Methode bestimmeAnzahlErreichbare(startknoten: Knoten): int
, die die Anzahl
der erreichbaren Städte wie in Schritt 3.b) beschrieben bestimmt, schon fertig implementiert ist.