BFS vs. DFS

Autore: Laura McKinney
Data Della Creazione: 4 Aprile 2021
Data Di Aggiornamento: 17 Maggio 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

Contenuto

La differenza tra BFS che è la ricerca breadth-first e DFS che è la ricerca approfondita è che la ricerca breadth-first è un metodo di attraversamento grafico che utilizza una coda per l'archiviazione dei vertici visitati, mentre la ricerca approfondita è un metodo di attraversamento grafico che utilizza lo stack per memorizzare i vertici visitati.


La prima ricerca dell'alito e la ricerca approfondita sono uno dei concetti più importanti nella programmazione del computer. La ricerca della profondità in profondità segue un percorso dall'inizio alla fine che è il nodo finale dall'altra mano prima ricerca lavoro livello per livello. Se parliamo della differenza principale, allora la differenza principale tra BFS che è la prima ricerca della larghezza e DFS che è la ricerca della profondità è che la prima ricerca della larghezza è il metodo di attraversamento del grafico che utilizza una coda per memorizzare i vertici visitati, mentre la ricerca della profondità prima è il metodo di attraversamento di grafici che utilizza lo stack per la memorizzazione dei vertici visitati. Ampia ricerca che si chiama a breve BFS, BFS viene utilizzato per attraversare il grafico. La coda viene utilizzata per memorizzare i vertici visitati in BFS. BFS funziona sui vertici, i vertici visitati sono memorizzati nella coda. I vertici vengono memorizzati uno per uno. Ogni nodo in un grafico viene esplorato completamente e quindi vengono visitati altri vertici del grafico.


Profondità La prima ricerca nota come DFS è anche un metodo di spostamento dei grafici che utilizzava lo stack per memorizzare i vertici. La ricerca in ampiezza non è un metodo basato sul bordo, mentre la ricerca in profondità è un metodo basato sul bordo. La ricerca della profondità in profondità ricorre in modo ricorsivo in cui i vertici vengono esplorati attraverso i bordi. Nella prima ricerca approfondita, ogni vertice viene visitato una volta che è stato ispezionato due volte.

Contenuto: differenza tra BFS e DFS

  • Tabella di comparazione
  • BFS
  • DFS
  • Differenze chiave
  • Conclusione
  • Video esplicativo

Tabella di comparazione

BaseBFSDFS
SignificatoLa prima ricerca di larghezza è un metodo di attraversamento di grafici che utilizza una coda per la memorizzazione dei vertici visitatiLa ricerca per profondità è il metodo di attraversamento del grafico che utilizza lo stack per la memorizzazione dei vertici visitati.
Algoritmo L'ampiezza della prima ricerca è un algoritmo basato sul verticeLa ricerca in profondità è un algoritmo basato sul bordo
MemoriaAmpia prima ricerca è memoria inefficienteLa ricerca in profondità è efficiente in termini di memoria
Applicazione Esamina il grafico bipartito, il componente collegato e il percorso più breve presente in un grafico.Esamina il grafico connesso a due fronti, il grafico fortemente connesso, il grafico aciclico e l'ordine topologico.

BFS

Ampia ricerca che si chiama a breve BFS, BFS viene utilizzato per attraversare il grafico. La coda viene utilizzata per memorizzare i vertici visitati in BFS. BFS funziona sui vertici, i vertici visitati sono memorizzati nella coda. I vertici vengono memorizzati uno per uno. Ogni nodo in un grafico viene esplorato completamente e quindi vengono visitati altri vertici del grafico. La ricerca breadth-first viene utilizzata per scoprire che il grafico è collegato o meno. La ricerca breadth-first viene utilizzata per rilevare un grafico bipartito. La ricerca dei percorsi più brevi viene eseguita utilizzando BFS.


DFS

Profondità La prima ricerca nota come DFS è anche un metodo di attraversamento grafico che utilizzava lo stack per memorizzare i vertici. La ricerca in ampiezza non è un metodo basato sul bordo, mentre la ricerca in profondità è un metodo basato sul bordo.La ricerca della profondità in profondità ricorre in modo ricorsivo in cui i vertici vengono esplorati attraverso i bordi. In una ricerca approfondita, ogni vertice viene visitato una volta ispezionato due volte.

Differenze chiave

  1. La ricerca breadth-first è un metodo di attraversamento di grafici che utilizza una coda per l'archiviazione dei vertici visitati, mentre la ricerca approfondita è un metodo di attraversamento di grafici che utilizza lo stack per l'archiviazione di vertici visitati.
  2. La ricerca breadth-first è un algoritmo basato sul vertice, mentre la ricerca first-depth è un algoritmo basato sul bordo
  3. La ricerca in ampiezza è inefficace nella memoria, mentre la ricerca in profondità è efficiente nella memoria.
  4. Esamina il grafico bipartito, il componente connesso e il percorso più breve presente in un grafico, mentre esamina il grafico connesso a due bordi, il grafico fortemente connesso, il grafico aciclico e l'ordine topologico.

Conclusione

In questo articolo sopra vediamo la chiara differenza tra la prima ricerca del respiro e la prima ricerca della profondità con l'implementazione.

Video esplicativo