Blog

Twoja wymarzona praca? Lets Git IT.
Interaktywna platforma przygotowująca do rozmów technicznych dla nowoczesnych programistów.

XGitHub

Platforma

  • Kategorie

Zasoby

  • Blog
  • O aplikacji
  • FAQ
  • Sugestie

Prawne

  • Polityka prywatności
  • Regulamin

© 2025 LetsGit.IT. Wszelkie prawa zastrzeżone.

LetsGit.IT/Kategorie/Algorytmy
Algorytmyeasy

BFS vs DFS — jaka jest różnica i kiedy użyć którego?

Tagi
#bfs#dfs#graph#traversal
Wróć do kategoriiPrzejdź do quizu

Odpowiedź

BFS idzie warstwami i znajduje najkrótszą ścieżkę w grafie nieważonym. DFS schodzi w głąb i jest wygodny do przeglądania, wykrywania cykli i problemów typu topologicznego.

function bfs(start: number, graph: number[][]) {
  const q: number[] = [start];
  const seen = new Set<number>([start]);

  while (q.length) {
    const v = q.shift()!;
    for (const n of graph[v]) {
      if (!seen.has(n)) {
        seen.add(n);
        q.push(n);
      }
    }
  }
}

Powiązane pytania

Algorytmy
Co to jest sortowanie topologiczne i kiedy jest możliwe?
#topological-sort#dag#graph
Algorytmy
Kiedy BFS może zastąpić algorytm Dijkstry?
#shortest-path#bfs#dijkstra
Algorytmy
Co to jest algorytm Dijkstry?
#graph#shortest-path#dijkstra
Algorytmy
BFS vs DFS?
#graph#bfs#dfs
Struktury danych
Lista sąsiedztwa vs macierz sąsiedztwa: kiedy wybrać które?
#graph#adjacency-list#adjacency-matrix