JavaScript is required

Sự giống nhau giữa thuật toán Prim và thuật toán Kruskal là:

A.

Dừng khi kết nạp được tất cả các cạnh vào cây khung.

B.

Dừng khi kết nạp được n đỉnh và n cạnh vào cây khung

C.

Thuật toán chọn các cạnh có trọng số tối thiểu, liên thuộc với các đỉnh đã thuộc cây khung và không tạo ra chu trình.

D.

Thuật toán xây dựng cây khung ngắn nhất.

Trả lời:

Đáp án đúng: D


Cả thuật toán Prim và Kruskal đều là các thuật toán tham lam được sử dụng để tìm cây khung nhỏ nhất (Minimum Spanning Tree - MST) của một đồ thị liên thông có trọng số. Dưới đây là phân tích chi tiết:

  • A. Dừng khi kết nạp được tất cả các cạnh vào cây khung. Sai. Cây khung (spanning tree) chỉ chứa n-1 cạnh, với n là số đỉnh của đồ thị. Không phải tất cả các cạnh đều được kết nạp.
  • B. Dừng khi kết nạp được n đỉnh và n cạnh vào cây khung. Sai. Như đã nói ở trên, cây khung chỉ có n-1 cạnh. Phương án này sai vì số cạnh không đúng.
  • C. Thuật toán chọn các cạnh có trọng số tối thiểu, liên thuộc với các đỉnh đã thuộc cây khung và không tạo ra chu trình. Đúng. Đây là điểm giống nhau cốt lõi giữa hai thuật toán. Cả hai đều ưu tiên chọn cạnh nhỏ nhất và đảm bảo không tạo thành chu trình khi thêm vào cây khung đang xây dựng.
  • D. Thuật toán xây dựng cây khung ngắn nhất. Đúng nhưng không đủ chi tiết. Đây là mục tiêu của cả hai thuật toán, nhưng không phải là sự giống nhau trong cách chúng hoạt động cụ thể. Phương án C mô tả sự giống nhau chi tiết hơn trong quá trình xây dựng cây khung.

Như vậy, đáp án C chính xác nhất vì nó mô tả chi tiết cách cả hai thuật toán tiếp cận việc xây dựng cây khung nhỏ nhất, cụ thể là chọn cạnh có trọng số tối thiểu và không tạo chu trình.

Câu hỏi liên quan