Datenstrukturen und Algorithmen
In einem Graphen mit ungewichteten Kanten soll die kleinste Zahl von Kanten vom Startknoten zu jedem anderen Knoten bestimmt werden. Welche Kombination aus Suchverfahren und Datenstruktur ist geeignet?
- ABreitensuche mit einer Warteschlange
- BTiefensuche mit einem Stack
- CBreitensuche mit einem Stack
Antwort und Erläuterung anzeigen
Antwort: A. Breitensuche mit einer Warteschlange
Die Breitensuche besucht die Knoten nach ihrer Entfernung: zuerst die eine Kante vom Start entfernten, dann die zwei Kanten entfernten und so weiter. Jeden neu gefundenen Knoten hinten in eine Warteschlange einzufügen und die Knoten vorn zu entnehmen, bewahrt diese Reihenfolge „Nächste zuerst“; die Zahl der Kanten beim ersten Erreichen eines Knotens ist daher die kürzeste. Die Tiefensuche (mit Rekursion oder einem Stack) geht auf einem Pfad so weit wie möglich und kann einen Knoten zuerst auf einem Umweg erreichen; kürzeste Entfernungen sind daher nicht garantiert. Verwendet man statt einer Warteschlange einen Stack, wird der Durchlauf einer Tiefensuche ähnlich.