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

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

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 (341.55 KB, 10 trang )

Thu
Thu


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

ng
a,b,c,i,f,g
20
h,d,e
<cd=7,fe=10,gh=1>
R

ng
Thu


Thu


t to
t to
á
á
n Dijkstra
n Dijkstra
-
-
Prim
Prim
Ví dụ:
MST Q L
a,b,c,i,f,g
20
h,d,e
<cd=7,fe=10,gh=1>
R

ng
a,b,c,i,f,g,h
21
d,e
<cd=7,fe=10>
R

ng
Thu

Thu


t to
t to
á
á
n Dijkstra
n Dijkstra
-
-
Prim
Prim
Ví dụ:
MST Q L
a,b,c,i,f,g,h
21
d,e
<cd=7,fe=10>
R

ng
a,b,c,i,f,g,h,d
28
e
<de=8>
R

ng
Thu

Thu


t to
t to
á
á
n Dijkstra
n Dijkstra
-
-
Prim
Prim
Ví dụ:
MST Q L
a,b,c,i,f,g,h,d
28
e
<de=8>
R

ng
a,b,c,i,f,g,h,d,e
36
R

ng R

ng
Thu

Thu


t to
t to
á
á
n Dijkstra
n Dijkstra
-
-
Prim
Prim
Đánh giá giải thuật:
- Độ phức tạp của giải thuật Prim phụ thuộc vào
cách thực hiện độ ưu tiên ở hàng đợi Q
- Nếu Q được thực hiện như một heap nhị phân thì
thời gian tính toán của giải thuật là O (E lgV)
Thu
Thu


t to
t to
á
á
n Kruskal
n Kruskal
Giới thiệu:
- Khác với giải thuật Dijkstra-Prim bắt đầu với 1

đỉnh bất kì đê xây dựng MST. Thuật toán Kruskal
tập trung vào các cạnh của đồ thị
 Giải thuật:
- Bắt đầu với MST rỗng
- Thêm vào MST các cạnh có thứ tự tăng dần theo
trọng số cho đến khi tất cả các đỉnh được kết nối
Thu
Thu


t to
t to
á
á
n Kruskal
n Kruskal
Ví dụ:
MST V
R

ng A,B,C,D,E,F,G
FD A,B,C,E,G
FD,AB C,E,G
FD,AB,BE C,G
FD,AB,BE,AC G
FD,AB,BE,AC,AF G
FD,AB,BE,AC,AF,DG R

ng
Thu

Thu


t to
t to
á
á
n Kruskal
n Kruskal
Độ phức tạp của giải thuật:
- Thuật toán Kruskal có độ phức tạp là O(E lgE)
Bài tập: Sử dụng thuật toán Dijkstra-Prim tìm
MST của đồ thị sau, bắt đầu bắt node C. Trình
bày đầy đủ các bước
Thu
Thu


t to
t to
á
á
n Kruskal
n Kruskal
Bài tập: Sử dụng thuật toán Krusal tìm MST của
đồ thị sau.Trình bày đầy đủ các bước
ĐƯ
ĐƯ



NG ĐI NG
NG ĐI NG


N NH
N NH


T
T

×