Thuật toán Prim

Một phần của tài liệu Giữa kì phần tích thiết kế yêu cầu phân tích hệ thống cửa hàng bán xe máy của một công ty (Trang 33 - 35)

1.3 Thuật toán tham lam

1.3.1 Thuật toán Prim

Thuật toán của Prim xây dựng một cây bao trùm tối thiểu T bằng cách mở rộng ra bên ngoài trong các liên kết được kết nối từ một số đ§nh.

Mt cnh v mt Đnh c thờm vo măi giai đoạn. Cạnh được thêm vào là phần có trọng số nhỏ nhất nối các đ§nh đã có trong T với các đ§nh khơng thuộc T, và đ§nh là điểm cuối của cạnh này chưa thuộc T.

Đầu vào: đồ thƒ G một đồ thƒ có trọng số liên thơng với n đ§nh. Thuật tốn:

- Chọn một đ§nh v của G và để T là đồ thƒ ch§ có đ§nh này. - Gọi V là tập hợp tất cả các đ§nh của G ngoại trừ v. - Lập lại với đến :

(2) có trọng số nhỏ nhất trong tất cả các cạnh nối T với một đ§nh trong V. Gọi w là điểm cuối của e đó là ở V.

o Thêm e và w vào các tập cạnh và đ§nh của T, và xóa w khỏi V. Đầu ra: Đồ thƒ T là cây bao trùm tối thiểu cho G.

Ví dụ: Mơ tả hoạt động của thuật tốn Prim trên đồ thƒ trong Hình 1.1, sử dụng đ§nh Minneapolis làm điểm bắt đầu.

Hình 1. 9 Ví dụ thuật tốn Prim

Sử dụng thuật tốn của Prim, chúng ta có thể lập bảng sau.

Đã thêm đỉnh Đã thêm cạnh Trọng số

0 Minneapolis

1 Chicago Min – Chi 355

2 Milwaukee Chi – Mil 74

3 St. Louis Chi – StL 262

4 Louisville StL – Lou 242

5 Cincinnati Lou – Cin 83

6 Nashville Lou – Nas 151

Hình 1. 10 Kết quả ví dụ thuật toán Prim

Một phần của tài liệu Giữa kì phần tích thiết kế yêu cầu phân tích hệ thống cửa hàng bán xe máy của một công ty (Trang 33 - 35)

Tải bản đầy đủ (PDF)

(103 trang)