BÀI TOÁN TÌM ĐƯỜNG ĐI NGẮN NHẤT
& THUẬT TOÁN FLOYD-WARSHALL
ĐẠI HỌC ĐÀ NẴNG
GVHD: PGS. TSKH Trần Quốc Chiến
Nhóm học viên
•
Trần Ngọc Chinh
•
Phùng Thị Ngọc Dung
•
Trần Tấn Nha
•
Nguyễn Văn Phú
•
Võ Văn Thiên
!"#$%&'"()"*
"*+,
-,./".+,
Phát biểu bài toán
! ! " # $ %& '
()*+,-./
+01!&234156!
7 -89: ; < - = 75 > '
?2()*
+70
@A 7 B ) C * & !. D + +
5!E-FG-*.#775>
H-+5IJ<*-*
75>5KA7B)=L
Phát biểu bài toán(tt)
MB)</=NOP3QR9:
<L Q+S-":
R+S-:
T3U9+/=NH3U9:
VWLP%X→%Y→%Z→:::→%[Y→%
<++\/=NL]5>
+LM"2!E^7HB)C7'
?2_^7:
`*+3a9
•
;5.#7+'?
2( -"HB)%2bG
+LQB)</=NO3QR95C7
'?2(2. -"H
B):
•
cd++<*-S'
?2^2-_"%!.D/
"^2-:75%++7<
.#7/eb<+S
f7[g=:
Thuật toán
- Đầu vào:
hB)<5OP3QR9QPiY
Z:::j</=N%/3U9:
- Đầu ra:
kSlPm3U9n<3U9+b+
?2_U%/ -3U9:
kS`Pm-3U9n^)?2
(/ -":
Thuật toán(tt)
- Phương pháp:
120 Bước khởi tạo
34'"+&56*7"!8,
+9:$+;<=>?
+@$+;<=>9A;<=>B"CD";<=>($+;<=>9E∞B"
FGCD";<=>;.'B"FG@F"HID
$+;<>9E∞>0
34'"-+&56*7"!8,
-+9:8+;<=>?
+@8+;<=>9=B"@"JB=(8+;<=>FG7,
KB"FG@"JB=0
,F9L0
∞
Thuật toán(tt)
1M0Kiểm tra kết thúcL
o!P!J:lPl+S+?2
`P`+S^)?2:
oGD!5Ye%)3!LP!pY9%+=1N:
1N0Tính ma trận Dk theo Dk-1 và Pk theo Pk-1L
Q/ -3U9PY::UPY::&L
o ![Y3U9q![Y3!9p![Y3!U9
0
!3U9P![Y3!9p![Y3!U9%+-!3U9P-![Y3!9
G
!3U9P![Y3U9%+-!3U9P-![Y3U9
r71M
S3a9
•
-8,87,KOP!J
QBQ=
h?2_UBC7"
YZs:::!!pY:::U
tC
YP-3U9ZP-3YU9:::!pYP-3!U9:::-3U9PU
Thuật toán(tt)
RS$T6@CKU6"
f7
c
7
7
6
b d
1
4
11
5
a
Thuật toán(tt)
a b c d
a
+∞
7 5
+∞
b
+∞ +∞
7 6
c
+∞ +∞ +∞
11
d 4 1
+∞ +∞
a b c d
a b c
b c d
c d
d a b
u-.SFloyd-WarshallSGS=L
[MS^2-L
l
P
`P
S3a9
[
MSS-S#"L
3)G9
a b c d
a
+∞
7 5
+∞
b
+∞ +∞
7 6
c
+∞ +∞ +∞
11
d 4 1 9
+∞
a b c d
a b c
b c d
c d
d a b a
29
-29
S3a9
[MSS-S#"L
a b c d
a
+∞
7 5 13
b
+∞ +∞
7 6
c
+∞ +∞ +∞
11
d 4 1 8 7
a b c d
a b c b
b c d
c d
d a b b b
M9
-M9
S3a9
[MSS-S#"L
a b c d
a 17 7 5 13
b 10 7 7 6
c 15 12 19 11
d 4 1 8 7
a b c d
a b b c b
b d d c d
c d d d d
d a b b b
9V9
-9-V9
S3a9
[MSS-S#"ML
a b c d
a
+∞
7 5 13
b
+∞ +∞
7 6
c
+∞ +∞ +∞
11
d 4 1 8 7
a b c d
a b c b
b c d
c d
d a b b b
M9
-M9
S3a9
•
MNF<S!.?2(
"lPlv:27B)5%+
0:
•
wxS`P`v<*'?
2(":M*'_
""+=L
YLP`39PIZLP`39P
•
_<SG?2_L
yy %++z:
Cấu trúc dữ liệu
◊
!
" # $"%&'"()#%&"*+
,
-
.
-
/
-
$'"(0'"(&0 1"*%&+
,
2
.
2
/
2
,
#
.
#
/
#
3 "*
"#45"*6"*%&'"(%&"*78
9(:;
,
#
,
#
'"( '"( & 78 - <"(
";0= 1"*%&/
#
Cấu trúc dữ liệu(tt)
◊
f4!#.Lf@{]lg|c:{}
l 3kS+?2(
/ -"9
[[[[
`3kS^)?2(
/ -"9
Cấu trúc dữ liệu(tt)
Cấu trúc dữ liệu(tt)
)"*WXYZ[\]^[
O.Sf7[g=^$7C7S%2-
+l!3X≤!≤9%+S`!3X≤!≤9=L
__1"+F+6+
~3PYI•PIpp9
~3UPYIU•PIUpp9
~3lmnmUnPPX9
lmnmUnP€€€I
4=4
`mnmUnPUI
`a^bc\d^
__566<-
F92e
$+f
g+;92eh9eEE>
g+;=92e=h9e=EE>
g;:?:=?i;:?:F?E:F?:=?>>
f
:?:=?9:?:F?E:F?:=?e
-:?:=?9-:?:F?e
j
k&Ukf
:?:=?9:?:=?e
-:?:=?9-:?:=?e
j
FEEe
jA&k;Fh9>e
CÀI ĐẶT CHƯƠNG TRÌNH(tt)
•
3lD+5)
+U56792LLe
<5<Ae //n: so dinh, m: so cung, w:trong so
:567?:567?e//ma tran chua Do dai duong di
ngan nhat giua moi cap dinh
-:567?:567?e//ma tran chua duong di ngan nhat
giua moi cap dinh
CÀI ĐẶT CHƯƠNG TRÌNH(tt)
_m6$6"6+6W&+HZ6U6&&m_
%f7g=39
i
U!I
//Buoc khoi tao
~3PYI•PIpp9
~3UPYIU•PIUpp9
~3lmnmUnPPX9
lmnmUnP€€€I
4=4
`mnmUnPUI
CÀI ĐẶT CHƯƠNG TRÌNH(tt)
//Tinh ma tran D, P
F92e
$+
f
g+;92eh9eEE>
g+;=92e=h9e=EE>
g;:?:=?i;:?:F?E:F?:=?>>
f
:?:=?9:?:F?E:F?:=?e
-:?:=?9-:?:F?e
j
k&Uk
f
:?:=?9:?:=?e
-:?:=?9-:?:=?e
j
FEEe
jA&k;Fh9>e
CÀI ĐẶT CHƯƠNG TRÌNH(tt)
_mn6$$"+$66m_
%4g73-9
i
~3-PP9
-‚3ƒ[qƒ9I
4=4
i
-‚3ƒ[q„ƒ`mnmn9I
4g73-`m-nmn9I
j
j