BFS - Umgehung in der Breite


Prüfung in der BreiteBFS)
BFS (siehe Breite, Brot-Erste Suche() - die Art, wie die Zählung umgangen wird, sehr oft in einfachen Algorithmen und fortgeschrittenen. Die Suche in der Breite funktioniert durch eine konsistente Ansicht der einzelnen Ebenen des Diagramms, beginnend mit dem Knoten der Herkunft, und allmählich von ihm entfernt. Es wird deutlich auf Animation gezeigt.
Um das Beste zu schreiben. BFS Es ist notwendig, mit einer Datenstruktur arbeiten zu können, die es von Anfang und Ende aus zu nehmen ermöglicht und das Diagramm als eine Liste von Nebenitäten (d.h. Zeile) zu halten.
Formale Beschreibung des Algorithmus
(1) Legen Sie die Anzahl der Oberseite, von der die Suche beginnt, in der leeren Zeile.
(2) Holen Sie die Spitze aus der Linie U und markieren Sie es wie in einem separaten Satz verwendet.
(3) Am Ende der Linie, fügen Sie alle Spitzen, die wir durch die Rippen von oben erreichen können. U,und noch nicht markiert.
(4) Ist die Zeile leer, wurden alle Links der Kontaktbox überprüft, andernfalls zurück zu Absatz 2.
Komplexität der Arbeit
Da im schlimmsten Fall der Algorithmus alle Zähl- ' s-Knoten besucht, während der Zählerstand in Form einer Liste von Verbindungen bleibt, ist die temporäre Komplexität des Algorithmus O(|V| + |E|)wenn V - Viele Spitzen der Zählung, a E - Viele Rippen. Mit anderen Worten, der Algorithmus funktioniert für das Schlimmste. Anzahl der Rippen + Anzahl der Spitzen

BFS (Erkennung in Breite, Breite-erste Suche) ist eine Möglichkeit, die Zählung zu umgehen, sehr oft sowohl in einfachen Algorithmen als auch in fortgeschrittenen angewendet. Die Suche in der Breite ist ein Mittel, die einzelnen Ebenen des Diagramms nacheinander zu überprüfen, beginnend mit dem Knoten der Herkunft, und allmählich zu entfernen. Es ist klar auf Animation.
Um ein einfaches BFS zu schreiben, ist es notwendig, mit einer Zeile arbeiten zu können, eine Datenstruktur, die es von Anfang und Ende nehmen lässt und den Graph als eine Liste der Verbindungen halten kann.
Formale Beschreibung des Algorithmus
(1) Legen Sie die Anzahl der Oberseite, von der die Suche beginnt, in der leeren Zeile.
(2) Um den Peak U von Anfang an zu entfernen und wie in einem separaten Satz verwendet zu markieren.
(3) Am Ende der Warteschlange fügen Sie alle Spitzen, die wir durch die Rippen von der Oberseite von U erreichen können und die noch nicht markiert sind.
(4) Ist die Zeile leer, wurden alle Links der Kontaktbox überprüft, andernfalls zurück zu Absatz 2.
Komplexität der Arbeit
Da im schlimmsten Fall der Algorithmus alle Zähl- ' s Knoten besucht, während die Zählung in Form einer Liste von Verbindungen, die temporäre Komplexität des Algorithmus ist O(Vа + аEа), wo V ist viele Spitzen der Reihe und E ist viele Rippen.
Mit anderen Worten, der Algorithmus funktioniert schlimmstenfalls für die Anzahl der Rippen + die Oberseite.

Um die kürzesten Möglichkeiten wiederherzustellen, müssen wir eine Reihe von Raubtieren einrichten.- Ja.in denen wir für jeden Top die Anzahl der Top haben wir in dieser Spitze.