Cách hoạt động?
Bài học 3 trên 9 trong khóa học Tìm kiếm theo chiều rộng, thuật toán đồ thị của Coddy.
BFS duy trì một dấu visited cho mỗi đỉnh và một queue gồm các đỉnh cần xử lý.
Quy trình từng bước:
- Đánh dấu đỉnh bắt đầu là đã thăm và thêm đỉnh đó vào hàng đợi.
- Lấy đỉnh ở đầu hàng đợi ra và ghi lại thứ tự thăm.
- Với mỗi đỉnh kề chưa thăm (theo thứ tự tăng dần), đánh dấu đỉnh đó là đã thăm và thêm vào hàng đợi. Đánh dấu khi thêm vào hàng đợi giúp một đỉnh không bị thêm hai lần.
- Lặp lại cho đến khi hàng đợi trống.
Ví dụ với các đỉnh từ 0 đến 3 và các cạnh [0,1, 0,2, 1,3, 2,3], bắt đầu tại 0:
- Thăm 0, thêm 1 và 2 vào hàng đợi; thăm 1, thêm 3 vào hàng đợi; thăm 2; thăm 3.
- Thứ tự thăm: [0, 1, 2, 3] (so sánh với DFS: [0, 1, 3, 2]).
Tự làm thử
Bài học này không có thử thách code.
Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Tìm kiếm theo chiều rộng, thuật toán đồ thị
2Thuật toán
Cách hoạt động?Mã giảTriển khai (phần 1)Triển khai (phần 2)Tự luyện tập: Trình biên dịch C online