GeeksforGeeks

Breadth First Search

BFS înseamnă Breadth First Search este o tehnică bazată pe vertexuri pentru găsirea celei mai scurte căi în graf. Folosește o structură de date de tip Queue (coadă) care urmărește primul intrat primul ieșit. În BFS, se selectează câte un vertex la un moment dat, atunci când este vizitat și marcat, apoi sunt vizitate și stocate în coadă cele adiacente acestuia. Este mai lent decât DFS.
Ex-

 A / \ B C / / \ D E F

Lovitura este:

A, B, C, D, E, F

Depth First Search

DFS înseamnă Depth First Search este o tehnică bazată pe muchii. Folosește structura de date Stack (stivă), efectuează două etape, în primul rând vârfurile vizitate sunt împinse în stivă, iar în al doilea rând, dacă nu există niciun vârf, atunci vârfurile vizitate sunt scoase.
Ex-

 A / \ B C / / \ D E F

Succesul este:

A, B, D, C, E, F

BFS vs DFS

BFS (Breadth First Search) utilizează structura de date Queue pentru a găsi cea mai scurtă cale.

BFS poate fi utilizat pentru a găsi calea cea mai scurtă cu o singură sursă într-un graf neponderat, deoarece în BFS, ajungem la un vertex cu un număr minim de muchii de la un vertex sursă.

BFS este mai potrivită pentru a căuta verticele care sunt mai apropiate de sursa dată.

Complexitatea în timp a BFS este O(V + E) atunci când se utilizează lista de adiacență și O(V^2) atunci când se utilizează matricea de adiacență, unde V reprezintă vârfurile și E reprezintă marginile.

S.NO BFS DFS
BFS reprezintă Breadth First Search. DFS reprezintă Depth First Search.
DFS(Depth First Search) utilizează structura de date Stack.
În DFS, s-ar putea să parcurgem mai multe muchii pentru a ajunge la un vertex de destinație de la o sursă.
DFS este mai potrivită atunci când există soluții departe de sursă.
BFS ia în considerare mai întâi toți vecinii și, prin urmare, nu este potrivit pentru arborii decizionali utilizați în jocuri sau puzzle-uri. DFS este mai potrivit pentru probleme de jocuri sau puzzle-uri. Luăm o decizie, apoi explorăm toate căile prin această decizie. Și dacă această decizie duce la o situație de câștig, ne oprim.
Complexitatea în timp a DFS este, de asemenea, O(V + E) atunci când se utilizează lista de adiacență și O(V^2) atunci când se utilizează matricea de adiacență, unde V reprezintă vârfurile și E reprezintă marginile.

Vă rugăm să consultați, de asemenea, BFS vs DFS pentru arbore binar pentru a vedea diferențele pentru o parcurgere a unui arbore binar.

Etichete articol :
Etichete de practică :

Lasă un răspuns

Adresa ta de email nu va fi publicată.