BFS vs. DFS

Autor: Laura McKinney
Data Creației: 4 Aprilie 2021
Data Actualizării: 26 Aprilie 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

Conţinut

Diferența dintre BFS, care este cautare largă-primă și DFS, care este căutarea în profunzime, este că căutarea pentru prima lărgime este metoda de parcurgere a graficului care folosește o coadă pentru stocarea vârfurilor vizitate, în timp ce căutarea în profunzime este metoda de traversare a graficului care folosește stiva pentru stocarea vârfurilor vizitate.


Căutare respiratorie și căutare în profunzime sunt unul dintre cele mai importante concepte în programarea computerului. Căutarea în profunzime urmează o cale de la început la sfârșit, care este nodul final pe de altă parte, pâine prima lucrare de căutare nivel după nivel. Dacă vorbim despre diferența principală, atunci diferența principală dintre BFS, care este lățimea de căutare prima și DFS, care este căutarea în profunzime, este aceea că prima lățime de căutare este metoda de parcurgere a graficului care folosește o coadă pentru stocarea vârfurilor vizitate, în timp ce căutarea în profunzime este metoda de parcurgere a graficului care utilizează stiva pentru stocarea vârfurilor vizitate. Prima căutare a lărgimii care se numește în scurt timp BFS, BFS este utilizat pentru a traversa graficul. Coada este folosită pentru a stoca vârfurile vizitate în BFS. BFS lucrează pe vârfurile, vârfurile vizitate sunt stocate în coadă. Vertexurile sunt stocate unul câte unul. Fiecare nod dintr-un grafic este complet explorat și apoi sunt vizitate alte vârfuri ale graficului.


Adâncime Prima căutare cunoscută sub numele de DFS este, de asemenea, o metodă de traversare a graficului care a utilizat stiva pentru stocarea vârfurilor. Prima căutare a lărgimii nu este o metodă bazată pe margine, în timp ce prima căutare în profunzime este metoda bazată pe margine. Primul lucru de căutare în profunzime, în mod recursiv, în care sunt explorate vârfuri prin margini. În prima căutare în profunzime, fiecare vârf este vizitat o dată, inspectat de două ori.

Cuprins: diferență între BFS și DFS

  • Diagramă de comparație
  • BFS
  • DFS
  • Diferențele cheie
  • Concluzie
  • Video explicativ

Diagramă de comparație

BazăBFSDFS
SensPrima căutare a lărgimii este metoda de parcurgere a graficului care folosește o coadă pentru stocarea vârfurilor vizitateCăutarea prim-adâncime este metoda de parcurgere a graficului care utilizează stiva pentru stocarea vârfurilor vizitate.
Algoritmul Prima căutare a lărgimii este algoritmul bazat pe vertexCăutarea în profunzime este algoritmul bazat pe margine
MemoriePrima căutare a lărgimii este ineficientă de memorieCăutarea la prima adâncime este eficientă din memorie
cerere Examinează graficul bipartit, componenta conectată și cea mai scurtă cale prezentă într-un grafic.Examină graficul conectat pe două muchii, graficul puternic conectat, graficul aciclic și ordinea topologică.

BFS

Prima căutare a lărgimii care se numește în scurt timp BFS, BFS este utilizat pentru a traversa graficul. Coada este folosită pentru a stoca vârfurile vizitate în BFS. BFS lucrează pe vârfurile, vârfurile vizitate sunt stocate în coadă. Vertexurile sunt stocate unul câte unul. Fiecare nod dintr-un grafic este complet explorat și apoi sunt vizitate și alte vârfuri ale graficului. Prima căutare a lărgimii este utilizată pentru a constata că graficul este conectat sau nu. Prima căutare a lărgimii este utilizată pentru detectarea unui grafic bipartit. Găsirea celor mai scurte căi se face prin utilizarea BFS.


DFS

Adâncime Prima căutare cunoscută sub numele de DFS este, de asemenea, o metodă de traversare a graficului care a utilizat stiva pentru stocarea vârfurilor. Prima căutare a lărgimii nu este o metodă bazată pe margine, în timp ce căutarea în profunzime este metoda bazată pe margine.Primul lucru de căutare în profunzime, în mod recursiv, în care sunt explorate vârfuri prin margini. Într-o primă căutare în profunzime, fiecare vertex este vizitat o dată inspectat de două ori.

Diferențele cheie

  1. Primă căutare a lărgimii este metoda de parcurgere a graficului care folosește o coadă pentru stocarea vârfurilor vizitate, în timp ce Depth-first search este metoda de traversare a graficului care utilizează stiva pentru stocarea vârfurilor vizitate.
  2. Prima căutare a lărgimii este un algoritm bazat pe vertex, în timp ce căutarea prim-adâncime este algoritmul bazat pe margine
  3. Prima căutare a lărgimii este ineficientă în memorie, în timp ce prima căutare în profunzime este eficientă din memorie.
  4. Examinează graficul bipartit, componenta conectată și calea cea mai scurtă prezentă într-un grafic, în timp ce examinează graficul conectat pe două muchii, graficul puternic conectat, graficul aciclic și ordinea topologică.

Concluzie

În acest articol de mai sus vedem diferența clară între căutarea respirației prima și căutarea în profunzime cu implementarea.

Video explicativ