Cách hoạt động?
Bài học 3 trên 9 trong khóa học Thuật toán Prim, thuật toán đồ thị của Coddy.
Duy trì một giá trị boolean inTree cho mỗi đỉnh. Bắt đầu với chỉ đỉnh 0 trong cây. Tập biên gồm mọi cạnh có đúng một đầu mút nằm trong cây, gọi là cạnh băng qua.
Quy trình từng bước:
- Trong số tất cả các cạnh băng qua, chọn cạnh có trọng số nhỏ nhất.
- Thêm đầu mút bên ngoài của cạnh đó vào cây và cộng trọng số của cạnh vào tổng.
- Lặp lại cho đến khi cây chứa tất cả
nđỉnh (cầnn - 1cạnh).
Nếu đến một thời điểm nào đó không còn cạnh băng qua nhưng vẫn có đỉnh ở bên ngoài, đồ thị không liên thông.
Ví dụ với các cạnh [0,1,1, 1,2,2, 2,3,3, 0,3,4]: bắt đầu từ 0, chọn 0-1(1), tiếp theo 1-2(2), rồi 2-3(3); tổng là 6.
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 Thuật toán Prim, 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