BFS przeszukuje graf poziomami używając kolejki i znajduje najkrótszą ścieżkę w grafach nieważonych. DFS schodzi jak najgłębiej używając rekurencji/stosu; przydaje się do sortowania topologicznego, wykrywania cykli i często zużywa mniej pamięci na szerokich grafach.
Rozwinięcie krótkiej odpowiedzi — co zwykle ma znaczenie w praktyce:
Krótki przykład (szablon do wyjaśniania):
// Example: discuss trade-offs for "bfs-vs-dfs?"
function explain() {
// Start from the core idea:
// BFS (wszerz) bada najpierw sąsiadów (kolejka, dobre do najkrótszej ścieżki). DFS (w głąb)
}