Es wird oft gesagt (zB in Wikipedia ) , dass die Laufzeit der Breitensuche (BFS) auf einem Graph ist . Jeder verbundene Graph hat jedoch und selbst in einem nicht verbundenen Diagramm betrachtet BFS niemals einen Scheitelpunkt außerhalb der Komponente, die den Startscheitelpunkt enthält. Diese Komponente enthält höchstens Kanten, so enthält es höchstens Eckpunkte, und dies sind die einzigen, die der Algorithmus besuchen wird.
Dies bedeutet, dass , warum sagen wir nicht, dass die Laufzeit nur ?
Dies kam in Kommentaren zu einer Frage zur Laufzeit des Disjkstra-Algorithmus zum Ausdruck .
algorithm-analysis
search-algorithms
David Richerby
quelle
quelle
Antworten:
BFS wird normalerweise wie folgt beschrieben (aus Wikipedia ).
Das Problem ist etwas subtil: Es versteckt sich in Zeile 3! Die Frage ist, welche Datenstruktur werden wir verwenden, um zu speichern, welche Eckpunkte entdeckt wurden?
false
quelle