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
Phân tích câu hỏi: Câu hỏi kiểm tra kiến thức về thuật toán tìm kiếm theo chiều sâu (DFS) trên đồ thị vô hướng, đặc biệt là khả năng duyệt các đỉnh trong đồ thị.
Đánh giá các phương án:
- A. Đúng. Thuật toán DFS(u) bắt đầu từ đỉnh u và duyệt tất cả các đỉnh có thể đến được từ u. Trong một đồ thị vô hướng, tập hợp các đỉnh có thể đến được từ u chính là thành phần liên thông chứa u.
- B. Sai. DFS(u) chỉ duyệt các đỉnh trong cùng thành phần liên thông với u. Nếu đồ thị có nhiều thành phần liên thông, DFS(u) không thể tìm đường đi đến các đỉnh thuộc thành phần liên thông khác.
- C. Sai. Tương tự như B, DFS(u) chỉ duyệt một thành phần liên thông duy nhất chứa đỉnh u.
- D. Sai. DFS(u) duyệt tất cả các đỉnh trong cùng thành phần liên thông với u mỗi đỉnh đúng một lần. Tuy nhiên, nó không duyệt tất cả các đỉnh của đồ thị nếu đồ thị có nhiều thành phần liên thông.
Kết luận: Phương án A là đúng nhất.