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

THUẬT TOÁN Dijkstra-Prim potx

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

×