💻 TIN HỌC · LỚP 11

Duyệt đồ thị BFS và DFS: thứ tự khám phá, cấu trúc biên và trạng thái đã thăm

Mô phỏng duyệt theo chiều rộng bằng hàng đợi và chiều sâu bằng ngăn xếp/đệ quy, giải thích vai trò visited, phân biệt thứ tự duyệt với đường đi ngắn nhất.

📖 Bài học⏱ 15 phút👁 0🔖 0
Đóng góp bởi Võ Trí Kỳ Nam · cập nhật 02/09/2026
Đăng nhập để học

🕸️ Đồ thị có nhánh và chu trình

Đồ thị gồm đỉnh và cạnh. Duyệt là quá trình thăm có hệ thống các đỉnh có thể tới từ điểm bắt đầu. Vì một đỉnh có thể được tiếp cận qua nhiều đường hoặc chu trình, cần trạng thái đã thăm để tránh xử lí lặp vô hạn.

Cùng đồ thị gốc A phân nhánh tới B C rồi D E F; BFS đi theo từng tầng nhờ hàng đợi, DFS đi sâu một nhánh nhờ ngăn xếp
Thứ tự cụ thể còn phụ thuộc thứ tự liệt kê các đỉnh kề; tính chất theo tầng hay đi sâu mới là cốt lõi.

BFS và DFS

  • BFS: dùng hàng đợi FIFO; khám phá các đỉnh theo số cạnh tăng dần từ nguồn. Trong đồ thị không trọng số, cây cha BFS cho đường đi ít cạnh nhất.
  • DFS: dùng ngăn xếp tường minh hoặc đệ quy; đi sâu rồi quay lui. Hữu ích cho phát hiện thành phần, chu trình và thứ tự phụ thuộc trong các biến thể phù hợp.

Đánh dấu lúc nào?

Với BFS, thường đánh dấu khi đưa đỉnh vào hàng đợi để một đỉnh không bị xếp hàng nhiều lần. Lưu mảng cha giúp dựng lại đường đi; chỉ lưu visited thì biết khả năng tới nhưng không biết tuyến cụ thể.

⚠️ Đường ngắn nhất phụ thuộc trọng số

BFS tối ưu số cạnh khi mọi cạnh có chi phí như nhau. Nếu cạnh có trọng số dương khác nhau, cần thuật toán phù hợp như Dijkstra; DFS đầu tiên tới đích không bảo đảm ngắn nhất.

📚 Căn cứ biên soạn

  • Chương trình GDPT 2018.
  • Mạch kiến thức Kết nối tri thức với cuộc sống lớp 11 và Quyết định 3588/QĐ-BGDĐT.
  • Nội dung biên soạn độc lập, ưu tiên phân tích bằng chứng, mô hình hóa và kiểm tra điều kiện áp dụng.

📚 Lý thuyết trọng tâm

Mục tiêu: Mô phỏng duyệt theo chiều rộng bằng hàng đợi và chiều sâu bằng ngăn xếp/đệ quy, giải thích vai trò visited, phân biệt thứ tự duyệt với đường đi ngắn nhất.. Khi học Duyệt đồ thị BFS và DFS: thứ tự khám phá, cấu trúc biên và trạng thái đã thăm, hãy xác định khái niệm, điều kiện áp dụng và mối liên hệ giữa các dữ kiện; không chỉ ghi nhớ kết luận.

🧭 Ví dụ có hướng dẫn

Chọn một tình huống điển hình của bài. Bước 1: ghi dữ kiện và câu hỏi cần giải quyết. Bước 2: chọn khái niệm hoặc quy tắc phù hợp. Bước 3: giải thích từng bước và kiểm tra kết quả với điều kiện ban đầu. Nếu đổi một dữ kiện, hãy dự đoán kết quả thay đổi thế nào.

✍️ Luyện tập

  1. Tóm tắt bài bằng ba ý: khái niệm, điều kiện và kết luận.
  2. Tự tạo một ví dụ đúng và một phản ví dụ; chỉ ra điểm quyết định.
  3. Giải lại ví dụ khi thay đổi một dữ kiện, sau đó nêu cách kiểm chứng.

Checklist tự đánh giá

  • Tôi giải thích được “vì sao”, không chỉ nêu đáp án.
  • Tôi nhận ra trường hợp không áp dụng được quy tắc.
  • Tôi kiểm tra được đơn vị, bằng chứng hoặc tính hợp lí của kết luận.
TRAO ĐỔI · HỎI ĐÁP

Cùng nhau hiểu bài sâu hơn

Viết lời giải, công thức, đặt câu hỏi hoặc gửi ảnh phần bạn đang vướng.

Đăng nhập để đặt câu hỏi và tham gia trao đổi.

Chưa có trao đổi nào. Hãy là người đầu tiên đặt câu hỏi nhé.