BFS vs. DFS

Autor: Laura McKinney
Erstelldatum: 4 April 2021
Aktualisierungsdatum: 17 Kann 2024
Anonim
5.1 Graph Traversals - BFS & DFS -Breadth First Search and Depth First Search
Video: 5.1 Graph Traversals - BFS & DFS -Breadth First Search and Depth First Search

Inhalt

Der Unterschied zwischen BFS, bei dem es sich um eine Breitensuche handelt, und DFS, bei dem es sich um eine Tiefensuche handelt, besteht darin, dass es sich bei der Breitensuche um eine Diagrammüberquerungsmethode handelt, bei der eine Warteschlange zum Speichern besuchter Scheitelpunkte verwendet wird, während die Tiefensuche eine Diagrammüberquerungsmethode ist, bei der der Stapel verwendet wird zum Speichern von besuchten Vertices.


Breath First Search und Depth First Search sind eines der wichtigsten Konzepte in der Computerprogrammierung. Die Tiefensuche folgt einem Pfad vom Anfang bis zum Ende, der andererseits der Endknoten der ersten Suche ist. Wenn wir über den Hauptunterschied sprechen, dann besteht der Hauptunterschied zwischen BFS, bei dem es sich um die Breitensuche handelt, und DFS, bei dem es sich um die Tiefensuche handelt, darin, dass die Breitensuche eine Diagrammüberquerungsmethode ist, bei der eine Warteschlange zum Speichern der besuchten Scheitelpunkte verwendet wird, während die Tiefensuche ist eine Diagrammüberquerungsmethode, die den Stapel zum Speichern der besuchten Scheitelpunkte verwendet. Die Breitensuche, kurz BFS genannt, wird zum Durchlaufen des Graphen verwendet. In der Warteschlange werden besuchte Eckpunkte in BFS gespeichert. BFS arbeiten an den Eckpunkten, besuchte Eckpunkte werden in der Warteschlange gespeichert. Scheitelpunkte werden einzeln gespeichert. Jeder Knoten in einem Diagramm wird vollständig untersucht und anschließend werden andere Scheitelpunkte des Diagramms besucht.


Tiefe Die erste Suche, die als DFS bezeichnet wird, ist auch eine Diagrammüberquerungsmethode, bei der der Stapel zum Speichern der Scheitelpunkte verwendet wurde. Die Breitensuche ist keine kantenbasierte Methode, wohingegen die Tiefensuche eine kantenbasierte Methode ist. Die Tiefensuche funktioniert rekursiv, wobei Scheitelpunkte durch Kanten untersucht werden. Bei der eingehenden ersten Suche wird jeder Scheitelpunkt einmal besucht und zweimal überprüft.

Inhalt: Unterschied zwischen BFS und DFS

  • Vergleichstabelle
  • BFS
  • DFS
  • Hauptunterschiede
  • Fazit
  • Erklärendes Video

Vergleichstabelle

BasisBFSDFS
BedeutungDie Breitensuche ist eine Methode zum Durchlaufen von Diagrammen, bei der eine Warteschlange zum Speichern der besuchten Scheitelpunkte verwendet wirdBei der Tiefensuche handelt es sich um eine Diagrammüberquerungsmethode, bei der der Stapel zum Speichern der besuchten Scheitelpunkte verwendet wird.
Algorithmus Die Breitensuche basiert auf einem vertexbasierten AlgorithmusDie Tiefensuche ist ein kantenbasierter Algorithmus
ErinnerungDie Breitensuche ist ineffizientDie Tiefensuche ist speichereffizient
Anwendung Untersucht das zweiteilige Diagramm, die verbundene Komponente und den kürzesten in einem Diagramm vorhandenen Pfad.Untersucht zweikantige verbundene Graphen, stark verbundene Graphen, azyklische Graphen und topologische Ordnungen.

BFS

Die Breitensuche, kurz BFS genannt, wird zum Durchlaufen des Graphen verwendet. In der Warteschlange werden besuchte Eckpunkte in BFS gespeichert. BFS arbeiten an den Eckpunkten, besuchte Eckpunkte werden in der Warteschlange gespeichert. Scheitelpunkte werden einzeln gespeichert. Jeder Knoten in einem Diagramm wird vollständig untersucht, und dann werden andere Scheitelpunkte des Diagramms besucht. Die Breitensuche wird verwendet, um festzustellen, ob der Graph verbunden ist oder nicht. Die Breitensuche wird zum Erkennen eines zweigliedrigen Graphen verwendet. Die Suche nach den kürzesten Wegen erfolgt mithilfe von BFS.


DFS

Tiefe Die erste Suche, die als DFS bezeichnet wird, ist auch eine Diagrammüberquerungsmethode, bei der der Stapel zum Speichern der Scheitelpunkte verwendet wurde. Die Breitensuche ist keine kantenbasierte Methode, während die Tiefensuche eine kantenbasierte Methode ist.Die Tiefensuche funktioniert rekursiv, wobei Scheitelpunkte durch Kanten untersucht werden. Bei einer Tiefensuche wird jeder Scheitelpunkt einmal besucht und zweimal überprüft.

Hauptunterschiede

  1. Bei der Breitensuche handelt es sich um eine Diagrammüberquerungsmethode, bei der eine Warteschlange zum Speichern besuchter Scheitelpunkte verwendet wird, während bei der Tiefensuche eine Diagrammüberquerungsmethode verwendet wird, bei der der Stapel zum Speichern besuchter Scheitelpunkte verwendet wird.
  2. Bei der Breitensuche handelt es sich um einen vertexbasierten Algorithmus, bei der Tiefensuche um einen kantenbasierten Algorithmus
  3. Die Breitensuche ist speichereffizient, während die Tiefensuche speichereffizient ist.
  4. Untersucht den zweigeteilten Graphen, die verbundene Komponente und den kürzesten in einem Graphen vorhandenen Weg, während der zweigeteilte verbundene Graph, der stark verbundene Graph, der azyklische Graph und die topologische Reihenfolge untersucht werden.

Fazit

In diesem Artikel oben sehen wir den deutlichen Unterschied zwischen der Suche nach dem ersten Atemzug und der Suche nach der Tiefe mit Implementierung.

Erklärendes Video