Der Algorithmus zur Breitensuche

Zur Modellierung unseres Problems haben wir Graphen gewählt. Wir können aber meistens in einem Graphen nicht alle Wege auszählen, um den kürzesten zu finden. Die Rechenzeit würde astronomisch hoch sein. Ein effizienteres Verfahren kürzeste Wege zu finden erhalten wir, wenn wir kurzgefasst gleichzeitig alle Nachbarn abarbeiten, markieren, besuchte Knoten in eine Warteschlange schreiben und einen Zähler benutzen. Dieses Verfahren in eine Handlungsvorschrift, einen Algorithmus, umgesetzt, ergibt die Breitensuche oder Breadth-First-Search (BFS).

Probiere den Algorithmus auf verschiedenen Graphen aus. Was geschieht zum Beispiel, wenn Du einen unzusammenhängenden Graphen zu Grunde legst?

Wenn Du zuerst ein automatisch ablaufendes Beispiel sehen willst, klicke hier.

Bitte schalten Sie Java ein, um eine Cinderella-Konstruktion zu sehen. Bitte schalten Sie Java ein, um eine Cinderella-Konstruktion zu sehen. Bitte schalten Sie Java ein, um eine Cinderella-Konstruktion zu sehen. Bitte Java aktivieren, um die interaktiven Teile nutzen zu können. Knoten bewegen
Bitte Java aktivieren, um die interaktiven Teile nutzen zu können. Knoten hinzufügen
Bitte Java aktivieren, um die interaktiven Teile nutzen zu können. ungerichtete Kante hinzufügen
Bitte Java aktivieren, um die interaktiven Teile nutzen zu können. gerichtete Kante hinzufügen
Bitte Java aktivieren, um die interaktiven Teile nutzen zu können. Elemente löschen
Bitte Java aktivieren, um die interaktiven Teile nutzen zu können. Startknoten wählen
Bitte Java aktivieren, um die interaktiven Teile nutzen zu können. Nächster Schritt im Algorithmusablauf
Bitte Java aktivieren, um die interaktiven Teile nutzen zu können. Zurücksetzen
©2005 Anne Geschke, Ulrich Kortenkamp, Dirk Materlik. Technische Universität Berlin, DFG-Forschungszentrum Matheon