Tải bản đầy đủ (.pdf) (10 trang)

Cấu trúc dữ liệu và giải thuật (phần 18) ppt

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (303.66 KB, 10 trang )

Minimum spanning tree
Minimum spanning tree
Khái niệm:
- Cây bao trùm tối thiểu MST (minimum spanning
tree) của một đồ thị có trọng số là một tập hợp các
cạnh kết nối tất cả các đỉnh sao cho tổng trọng số của
các cạnh là nhỏ nhất
- MST không nhất thiết là duy nhất trong một đồ thị
Minimum spanning tree
Minimum spanning tree
Ví dụ:
Thu
Thu


t to
t to
á
á
n Dijkstra
n Dijkstra
-
-
Prim
Prim
Giới thiệu:
- Thuật toán do Edsger Dijkstra và R.C. Prim tìm ra
vào năm 1950 một cách độc lập
- Giải thuật Prim dùng để giải bài toán cây bao trùm
tối thiểu.
- Giải thuật này sử dụng chiến lược để giải một bài


toán tối ưu hóa: giải thuật tham lam (greedy):
Tại mỗi bước của giải thuật, ta phải chọn một trong
một số khả năng lựa chọn. Chiến lược tham lam đề
xuất việc lựa chọn khả năng tốt nhất tại lúc đó.
Thu
Thu


t to
t to
á
á
n Dijkstra
n Dijkstra
-
-
Prim
Prim
Giới thiệu:
- Một chiến lược như vậy thường không đảm bảo đem
lại lời giải tối ưu toàn cục cho các bài toán.
- Tuy nhiên, đối với bài toán MST, giải thuật tham lam
có thể đem lại MST với tổng trọng số tối thiểu
Thu
Thu


t to
t to
á

á
n Dijkstra
n Dijkstra
-
-
Prim
Prim
Giải thuật:
- Chọn một đỉnh A bắt đầu trong đồ thị
- Xây dựng một tập hợp Q bao gồm các đỉnh được nối
từ đỉnh A
- Chọn đỉnh tiếp theo trong tập Q sao có cạnh từ đỉnh
A đền là nhỏ nhất
- Tiếp tục thêm vào Q những đỉnh bắt đầu tử đỉnh thứ
2
- Vòng lặp tiếp tục cho đến khi tất cả các đỉnh được
duyệt qua
Thu
Thu


t to
t to
á
á
n Dijkstra
n Dijkstra
-
-
Prim

Prim
Ví dụ:
L={a,b,c,d,e,f,g,h,i} // Tập các đỉnh chưa xét
MST // Cây khung
Q //Hàng đợi gồm các đỉnh được
nối với các đỉnh trong cây khung
Thu
Thu


t to
t to
á
á
n Dijkstra
n Dijkstra
-
-
Prim
Prim
Ví dụ:
MST Q L
R

ng R

ng a,b,c,d,e,f,g,h,i
a b,h
<ab=4,ah=8>
c,d,e,f,g,i

a,b
4
h,c
<ah=8,bc=8>
d,e,f,g,i
Thu
Thu


t to
t to
á
á
n Dijkstra
n Dijkstra
-
-
Prim
Prim
Ví dụ:
MST Q L
a,b
4
h,c
<ah=8,bc=8>
d,e,f,g,i
a,b,c
12
h,d,f,i
<ah=8,cd=7,cf=4,ci=2>

e,g
Thu
Thu


t to
t to
á
á
n Dijkstra
n Dijkstra
-
-
Prim
Prim
Ví dụ:
MST Q L
a,b,c
12
h,d,f,i
<ah=8,cd=7,cf=4,ci=2>
e,g
a,b,c,i
14
h,d,f,g
<cd=7,cf=4,ig=6,ih=7>
e
Thu
Thu



t to
t to
á
á
n Dijkstra
n Dijkstra
-
-
Prim
Prim
Ví dụ:
MST Q L
a,b,c,i
14
h,d,f,g
<cd=7,cf=4,ig=6,ih=7>
e
a,b,c,i,f
18
h,d,g,e
<cd=7,ih=7,fe=10,fg=2>
R

ng

×