Cho đồ thị vô hướng G = (V,E), khẳng định nào sau đây là đúng?
A.
Thuật toán DFS(u) duyệt tất cả các đỉnh của đồ thị trong cùng thành phần liên thông với đỉnh u
B.
Thuật toán DFS(u) luôn tìm ra được đường đi giữa hai đỉnh bất kì của đồ thị
C.
Thuật toán DFS(u) duyệt tất cả các thành phần liên thông của đồ thị
D.
Thuật toán DFS(u) duyệt tất cả các đỉnh của đồ thị mỗi đỉnh đúng một lần
Trả lời:
Đáp án đúng: A
Thuật toán DFS (Depth-First Search) xuất phát từ một đỉnh u và duyệt theo chiều sâu đến khi không còn đỉnh nào kề với đỉnh đang xét chưa được duyệt. Khi đó, thuật toán quay lui về đỉnh trước đó và tiếp tục duyệt các đỉnh kề chưa được duyệt khác. Quá trình này tiếp tục cho đến khi tất cả các đỉnh có thể đến được từ đỉnh u đều đã được duyệt. Do đó, DFS(u) duyệt tất cả các đỉnh trong cùng thành phần liên thông với đỉnh u. Các phương án khác không đúng vì DFS(u) chỉ duyệt các đỉnh có thể đến được từ u, không duyệt toàn bộ đồ thị nếu đồ thị không liên thông và cũng không đảm bảo tìm được đường đi giữa hai đỉnh bất kỳ nếu chúng không thuộc cùng thành phần liên thông. DFS(u) cũng có thể không duyệt tất cả các đỉnh của đồ thị mỗi đỉnh đúng một lần nếu đồ thị có chu trình.
Bộ 525 câu hỏi trắc nghiệm ôn thi môn Toán rời rạc có đáp án dưới đây sẽ là tài liệu ôn tập hữi ích dành cho các bạn sinh viên. Mời các bạn cùng tham khảo!
30 câu hỏi 60 phút