Contents
Tiefere Erste Suche ( DFS ) ist ein Algorithmus zum Verfahren oder die Suche Baum oder Graph Datenstrukturen. Der Algorithmus beginnt am Wurzelknoten (obersten) eines Baums und geht so weit wie möglich einen gegebenen Zweig (Pfad) hinunter, verfolgt dann zurück, bis er einen unerforschten Pfad findet, und untersucht ihn dann. Der Algorithmus tut dies, bis der gesamte Graph untersucht wurde.
Tiefer Erster Search ( DFS ) wird in der Regel als Subroutinen in anderen komplexeren Algorithmen verwendet. Hopcroft-Karp, Tree-Traversal und Matching-Algorithmus sind Beispiele für Algorithmen, die DFS verwenden, um ein Matching in einem Graphen zu finden.
Breadth First Search ( BFS ) ist ein Algorithmus zum Durchlaufen oder Durchsuchen von Baum- oder Graphdatenstrukturen. Es beginnt an der Baumwurzel und untersucht alle Nachbarknoten in der aktuellen Tiefe, bevor es zu den Knoten in der nächsten Tiefenebene übergeht.
Breadth First Search (BFS) ist ein wichtiger Suchalgorithmus, der verwendet wird, um viele Probleme zu lösen, einschließlich des Findens des kürzesten Pfads in Graphen und des Lösens von Puzzlespielen (wie Rubik’s Cubes). In der Informatik kann es auch zur Lösung von Graphenproblemen wie der Analyse von Netzwerken, Kartierung von Routen und Scheduling verwendet werden.
VERGLEICHSGRUNDLAGE | DFS | BFS |
Es startet die Durchquerung vom Wurzelknoten und untersucht die Suche so weit wie möglich vom Wurzelknoten, dh in der Tiefe. | BFS beginnt die Durchquerung vom Wurzelknoten und untersucht dann die Suche Ebene für Ebene, dh so nah wie möglich am Wurzelknoten. | |
Arbeitsschritte des Algorithmus | Der Algorithmus arbeitet in zwei Stufen. In der ersten Stufe werden die besuchten Scheitelpunkte auf den Stapel geschoben und später, wenn es keine weiteren Scheitelpunkte mehr gibt, um die herausgezogenen Scheitelpunkte zu besuchen. | Der Algorithmus arbeitet in einer einzigen Stufe. Die besuchten Scheitelpunkte werden aus der Warteschlange entfernt und dann sofort angezeigt. |
Suche | Seine Suche kann mit Hilfe von Stack-dh LIFO-Implementierungen durchgeführt werden. | Seine Suche kann mit Hilfe einer Warteschlange, dh einer FIFO-Implementierung, durchgeführt werden. |
Nützlichkeit | Es ist nicht nützlich, den kürzesten Weg zu finden. Es wird verwendet, um eine Durchquerung eines allgemeinen Graphen durchzuführen, und die Idee von DFS besteht darin, einen Pfad so lang wie möglich zu machen und dann zurückzugehen (Backtrack), um auch so lange Zweige wie möglich hinzuzufügen. | Es ist nützlich, den kürzesten Weg zu finden. BFS kann verwendet werden, um den kürzesten Abstand zwischen einem Startknoten und den verbleibenden Knoten des Graphen zu finden. |
Geschwindigkeit | Es ist im Vergleich zu BFS vergleichsweise schneller. | Im Vergleich zu DFS ist es vergleichsweise langsamer. |
Zeitkomplexität | Die Zeitkomplexität von BFS ist O(V+E), wobei V für Ecken und E für Kanten steht. | Die Zeitkomplexität von BFS ist O(V+E), wobei V für Ecken und E für Kanten steht. |
Speicherbedarf | DFS benötigt im Vergleich zu BFS vergleichsweise weniger Speicher. | Es erfordert vergleichsweise mehr Speicher zu DFS. |
Anwendung | Topologische Sortierung Finden verbundener Komponenten Finden von Artikulationspunkten (Schnittpunkten) des Graphen. Lösen von Rätseln wie Labyrinth. Suche nach stark verbundenen Komponenten. | Suchen verbundener Komponenten in einem Graphen Testen eines Graphen auf Bipartitität Finden aller Knoten innerhalb einer verbundenen Komponente. Den kürzesten Weg zwischen zwei Knoten finden |
Fühlen Sie sich oft gestresst, verspannt und auf der Suche nach einer Lösung für Ihr…
Haben Sie sich jemals gefragt, warum Ihr Morgenkaffee anders schmeckt als der Espresso aus Ihrem…
Einleitung: Die Begriffe "Freeway" und "Highway" werden oft synonym verwendet, aber es gibt subtile Unterschiede…
Burritos und Enchiladas sind zwei beliebte Gerichte der mexikanischen Küche, die oft miteinander verwechselt werden.…
In der Zellbiologie spielen Replikation und Transkription entscheidende Rollen im genetischen Prozess. Beide sind Mechanismen,…
Osmose und Diffusion sind zwei grundlegende Prozesse, die in der Zellbiologie und Chemie eine entscheidende…