JavaScript is required

Cho đồ thị như hình vẽ. Kết quả khi duyệt đồ thị theo thuật toán BFS(I) là:

A.

I, A, C, H, E, G, B, D, F, K

B.

I, A, B, C, D, E, G, F, H, K

C.

I, A, C, K, E, G, B, D, F, H

D.

I, E, F, G, H, A, B, C, D, K

Trả lời:

Đáp án đúng: C


Thuật toán BFS (Breadth-First Search) duyệt đồ thị theo chiều rộng, tức là duyệt tất cả các đỉnh kề với đỉnh hiện tại trước khi duyệt sang các đỉnh ở mức sâu hơn. 1. Bắt đầu từ đỉnh I. 2. Các đỉnh kề với I là A, E, F, G, H, K. Do thứ tự duyệt các đỉnh kề không được quy định rõ trong câu hỏi, ta cần xem xét các đáp án để tìm thứ tự phù hợp. 3. Dựa vào các đáp án, ta thấy đáp án A, B, C đều bắt đầu với I, A, C... như vậy thứ tự duyệt từ I là A, rồi đến C (đỉnh kề với A). 4. Từ C, ta duyệt các đỉnh kề chưa được duyệt: B và D. Trong các đáp án A, B, C, ta thấy đáp án A, C đều đưa ra B, D theo đúng thứ tự đó. 5. Từ B, ta duyệt đỉnh E, F, G, H, K. 6. So sánh các thứ tự trong đáp án A, C. ta thấy đáp án A là I, A, C, H, E, G, B, D, F, K. 7. So sánh các thứ tự trong đáp án B, C. ta thấy đáp án B là I, A, B, C, D, E, G, F, H, K. 8. So sánh các thứ tự trong đáp án C. ta thấy đáp án C là I, A, C, K, E, G, B, D, F, H. 9. Ta xét các đỉnh kề với A bao gồm C, B. Từ đỉnh C ta xét tiếp H (nếu có). Các đỉnh E, G nằm ở nhánh khác nên chưa xét đến. Đỉnh K cũng tương tự. 10. Do vậy đáp án A, C, B là sai. Từ đó suy ra đáp án D cũng sai. Như vậy đáp án đúng nhất là: I, A, C, H, E, G, B, D, F, K.

Câu hỏi liên quan