Cơ BảnDSA iconDSA

DFS và BFS khác nhau như thế nào trong tree/graph interview?

DFS đi sâu theo một nhánh trước, thường dùng recursion hoặc stack; phù hợp với bài cần explore toàn bộ path, backtracking, connected components, cycle detection.

  • BFS đi theo từng level bằng queue; phù hợp với shortest path không trọng số, level order traversal, minimum steps.
  • Với graph, cả DFS và BFS đều cần visited để tránh lặp vô hạn.
  • Complexity thường là O(V+E) cho graph adjacency list.
  • Khi trả lời, hãy gắn lựa chọn với yêu cầu bài: nếu hỏi khoảng cách ngắn nhất trong unweighted graph, BFS tự nhiên hơn DFS.

Xem toàn bộ DSA cùng filter theo level & chủ đề con.

Mở danh sách DSA