BFS versus DFS

Schrijver: Laura McKinney
Datum Van Creatie: 4 April 2021
Updatedatum: 5 Kunnen 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

Inhoud

Het verschil tussen BFS die breedte-eerste zoekopdracht is en DFS die diepte-eerste zoekopdracht is, is dat breedte-eerste zoekopdracht een methode voor het doorlopen van grafieken is die een wachtrij gebruikt voor het opslaan van bezochte hoekpunten, terwijl diepte-eerste zoekopdracht een methode voor het doorlopen van grafieken is die de stapel gebruikt voor het opslaan van bezochte hoekpunten.


Breath first search en depth-first search zijn een van de belangrijkste concepten bij computerprogrammering. Diepte-eerste zoekopdracht volgt een pad van begin tot einde dat is eindknooppunt anderzijds brood zoeken eerst werkniveau per niveau. Als we het hebben over het belangrijkste verschil, dan is het belangrijkste verschil tussen BFS dat is breedte-eerste zoekopdracht en DFS die diepte-eerste zoekopdracht is, dat breedte eerste zoekopdracht een methode voor het doorlopen van grafieken is die een wachtrij gebruikt voor het opslaan van bezochte hoekpunten, terwijl diepte-eerste zoekopdracht is een grafische methode die de stapel gebruikt voor het opslaan van bezochte hoekpunten. Breedte-eerste zoekopdracht die kort BFS wordt genoemd, BFS wordt gebruikt om door de grafiek te bladeren. De wachtrij wordt gebruikt om bezochte hoekpunten in BFS op te slaan. BFS werkt op de hoekpunten, bezochte hoekpunten worden opgeslagen in de wachtrij. Hoekpunten worden één voor één opgeslagen. Elke knoop in een grafiek wordt volledig onderzocht en vervolgens worden andere hoekpunten van de grafiek bezocht.


Diepte Eerste zoekopdracht die bekend staat als DFS is ook een methode voor het doorlopen van grafieken waarbij de stapel werd gebruikt voor het opslaan van de hoekpunten. Breedte-eerste zoekopdracht is geen edge-gebaseerde methode, terwijl diepte-first-zoekopdracht een edge-gebaseerde methode is. Diepte-eerst zoeken werkt op een recursieve manier waarbij hoekpunten door randen worden verkend. Bij diepgaande eerste zoekopdracht worden alle hoekpunten eenmaal bezocht en tweemaal geïnspecteerd.

Inhoud: verschil tussen BFS en DFS

  • Vergelijkingstabel
  • BFS
  • DFS
  • Belangrijkste verschillen
  • Gevolgtrekking
  • Verklarende video

Vergelijkingstabel

BasisBFSDFS
BetekenisDe eerste zoekactie met breedte is een grafische methode waarbij een wachtrij wordt gebruikt voor het opslaan van bezochte hoekpuntenDiepte-eerste zoekopdracht is een methode voor het doorlopen van grafieken die de stapel gebruikt voor het opslaan van bezochte hoekpunten.
Algoritme De eerste zoekopdracht met de breedte is een op vertex gebaseerd algoritmeDiepte-eerste zoekopdracht is edge-gebaseerd algoritme
GeheugenBreedte eerste zoekopdracht is geheugen inefficiëntDiepte-eerste zoekopdracht is geheugenefficiënt
Toepassing Onderzoekt de bipartiete grafiek, verbonden component en kortste pad aanwezig in een grafiek.Onderzoekt twee-rand verbonden grafiek, sterk verbonden grafiek, acyclische grafiek en topologische volgorde.

BFS

Breedte-eerste zoekopdracht die kort BFS wordt genoemd, BFS wordt gebruikt om door de grafiek te bladeren. De wachtrij wordt gebruikt om bezochte hoekpunten in BFS op te slaan. BFS werkt op de hoekpunten, bezochte hoekpunten worden opgeslagen in de wachtrij. Hoekpunten worden één voor één opgeslagen. Elke knoop in een grafiek wordt volledig onderzocht en vervolgens worden andere hoekpunten van de grafiek bezocht. De breedte-eerste zoekopdracht wordt gebruikt om te vinden dat de grafiek is verbonden of niet. De breedte-eerste zoekopdracht wordt gebruikt voor het detecteren van een tweedelige grafiek. Het vinden van de kortste paden wordt gedaan met behulp van BFS.


DFS

Diepte Eerste zoekopdracht die bekend staat als DFS is ook een methode voor het doorlopen van grafieken waarbij de stapel werd gebruikt voor het opslaan van de hoekpunten. De eerste zoekactie op breedte is geen op de rand gebaseerde methode, terwijl de diepte-eerste zoekopdracht een op de rand gebaseerde methode is.Diepte-eerst zoeken werkt op een recursieve manier waarbij hoekpunten door randen worden verkend. Bij een diepte-eerste zoekopdracht wordt elk hoekpunt eenmaal bezocht dat tweemaal werd geïnspecteerd.

Belangrijkste verschillen

  1. Breedte-eerste zoekopdracht is een methode voor het doorlopen van grafieken waarbij een wachtrij wordt gebruikt voor het opslaan van bezochte hoekpunten, terwijl diepte-eerste zoekopdracht een methode voor het doorlopen van grafieken is die de stapel gebruikt voor het opslaan van bezochte hoekpunten.
  2. Breedte-eerste zoekopdracht is op hoekpunt gebaseerd algoritme, terwijl diepte-eerste zoekopdracht randgebaseerd algoritme is
  3. Zoeken op breedte is geheugen-inefficiënt, terwijl zoeken op diepte eerst geheugen-efficiënt is.
  4. Onderzoekt de bipartiete grafiek, verbonden component en kortste pad aanwezig in een grafiek, terwijl onderzoekt twee-rand verbonden grafiek, sterk verbonden grafiek, acyclische grafiek en topologische volgorde.

Gevolgtrekking

In dit artikel hierboven zien we het duidelijke verschil tussen eerste ademhaling en diepte-eerste zoekopdracht met implementatie.

Verklarende video