2 3 4 5 6 7 8 9
A N 0 N p N T u w u v T + w v A 0, 2, 3,, p 2 p p
A 0, 2, 3,, p 2 p A 0 0
A S S 0 0 p S S S 0 0 p S Z w(s) S 0 A Z S 0 Z S w(s ) < w(s 0 ) Z S w(s ) < w(s 0 )
G
G w(u, v) u v w 0
G w(u, v) u v w 0 (0, ), (, 2),, (p 2, p )
G w(u, v) u v w 0 (0, ), (, 2),, (p 2, p ) TYPE
G w(u, v) u v w 0 (0, ), (, 2),, (p 2, p ) TYPE 0 (TYPE A) 0
G w(u, v) u v w 0 (0, ), (, 2),, (p 2, p ) TYPE 0 (TYPE A) 0
G w(u, v) u v w 0 (0, ), (, 2),, (p 2, p ) TYPE 0 (TYPE A) 0
0 ans
0 ans ans
0 ans ans dist(0,,, p )
0 ans ans dist(0,,, p )
0 ans ans dist(0,,, p ) 0
A 3 3 3 0 2 2 0 2 2 0-0
A 3 3 3 0 2 2 0 2 2 0-0 0 2 2 2
A 3 3 3 0 2 2 0 2 2 0-0 0 2 0 2 2 2 2
A 3 3 3 0 2 2 0 2 2 0-0 0 2 0 2 2 2 2
5 6 5 0 2 3 3 3 4 3 0 2 3 2 3 2 3 2-0 0 0 0
5 6 5 0 2 3 3 3 4 3 0 2 3 2 3 2 3 2-0 0 0 0 2 3 0 3 3 3 4 3 2
5 6 5 0 2 3 3 3 4 3 0 2 3 2 3 2 3 2-0 0 0 0 2 3 0 3 3 3 4 3 2 3 0 3 3 3 4 4 2
5 6 5 0 2 3 3 3 4 3 0 2 3 2 3 2 3 2-0 0 0 0 2 3 0 3 3 4 3 3 2 3 0 3 3 4 3 4 2
5 6 5 0 2 3 3 3 4 3 0 2 3 2 3 2 3 2-0 0 0 0 2 3 0 3 3 4 3 3 2 2 3 0 3 4 3 3 2
0 v 0 v
v {0 p } v dist(0,,, v) π v
v {0 p } v dist(0,,, v) π v dist(0,,, v)
dist(0, ) π
dist(0, ) π w(0, ) π
dist(0, ) π w(0, ) π i 0 i w(i, i) π i π i
dist(0, ) π w(0, ) π i 0 i w(i, i) π i π i π i π i > 0 0
Dijkstra 0 π
Dijkstra 0 π π p
Dijkstra 0 π π p π π 0,, π 2 π,, π p π p 2
G = (V, E) c
G = (V, E) c S 0 0 T 0 = V S 0 (S 0, T 0 )
G = (V, E) c S 0 0 T 0 = V S 0 (S 0, T 0 ) c(s, T) (S, T) W
0 ans
0 ans ans
0 ans ans ( )
0 ans ans ( )
0 ans ans ( ) 0
0 ans ans ( ) 0
S 0 c(s 0, T 0 ) W
S 0 c(s 0, T 0 ) W
(S 0, T 0 )
(S 0, T 0 ) G = (V, E (T 0, S 0 ))
(S 0, T 0 ) G = (V, E (T 0, S 0 )) (T 0, S 0 ) G c
f G S 0 T 0 f (S 0, T 0 ) = (u,v) (S 0,T 0 ) f uv (u,v) (T 0,S 0 ) f uv = (u,v) (S 0,T 0 ) f uv
f G S 0 T 0 f (S 0, T 0 ) = (u,v) (S 0,T 0 ) f uv (u,v) (T 0,S 0 ) f uv = (u,v) (S 0,T 0 ) f uv c(s, T ) = (u,v) (S 0,T 0 ) f uv
f G S 0 T 0 f (S 0, T 0 ) = (u,v) (S 0,T 0 ) f uv (u,v) (T 0,S 0 ) f uv = (u,v) (S 0,T 0 ) f uv c(s, T ) = (u,v) (S 0,T 0 ) f uv c(s 0, T 0 ) c(s, T ) = (u,v) (S 0,T 0 ) (c uv f uv)
f G S 0 T 0 f (S 0, T 0 ) = (u,v) (S 0,T 0 ) f uv (u,v) (T 0,S 0 ) f uv = (u,v) (S 0,T 0 ) f uv c(s, T ) = (u,v) (S 0,T 0 ) f uv c(s 0, T 0 ) c(s, T ) = (u,v) (S 0,T 0 ) (c uv f uv) c(s 0, T 0 ) c(s, T ) (S 0, T 0 )
{ c f uv = uv for all (u, v) (S 0, T 0 ) c uv for all (u, v) / (S 0, T 0 )
{ c f uv = uv for all (u, v) (S 0, T 0 ) c uv for all (u, v) / (S 0, T 0 ) f (S, T ) (S 0, T 0 )
{ c f uv = uv for all (u, v) (S 0, T 0 ) c uv for all (u, v) / (S 0, T 0 ) f (S, T ) (S 0, T 0 ) c(s 0, T 0 ) c(s, T )
(S 0,, T 0 ) S 0 T 0
(S 0,, T 0 ) S 0 T 0 (T 0, S 0 )
(S 0,, T 0 ) S 0 T 0 (T 0, S 0 ) f
(S 0,, T 0 ) S 0 T 0 (T 0, S 0 ) f (u, v) (u, v) (S 0, T 0 ) f uv
B 8 4 + 0 3-2 2-2 3-0 4 + 4 5 2-5 3 3-0 6 2-6 7 + 7 3 2-2 0 3-5 4 2
B 8 4 + 0 3-2 2-2 3-0 4 + 4 5 2-5 3 3-0 6 2-6 7 + 7 3 2-2 0 3-5 4 2 0() 0 0(3) 0(2) 0() 2 3 0(2) 4 0(3) 6 0(2) 0(2) 0() 5 7 0(2) 0(3) ()
B 8 4 + 0 3-2 2-2 3-0 4 + 4 5 2-5 3 3-0 6 2-6 7 + 7 3 2-2 0 3-5 4 2 0(2) 4 5 0() 0(3) 0 0(3) 0(2) 0() 2 3 0(2) 0(2) 0() 6 7 (T 0, S 0 )
B 8 4 + 0 3-2 2-2 3-0 4 + 4 5 2-5 3 3-0 6 2-6 7 + 7 3 2-2 0 3-5 4 2 (2) 4 5 () (3) 0 (3) (2) () 2 3 (2) (2) () 6 7
B 8 4 + 0 3-2 2-2 3-0 4 + 4 5 2-5 3 3-0 6 2-6 7 + 7 3 2-2 0 3-5 4 2 4 0 2 2 3 2 6 (S 0, T 0 ) 5 7 3
SGU 206 Roads
SGU 206 Roads
SGU 206 Roads
0% N 6, M 2, w 5 20% N 000, M 20000 O(N 2 ) Dijkstra 0% N 30000, M 600000 O(M log N) Dijkstra 0% N 6, M 2, w 5 30% N 00, M 2000 20% N 300, M 6000
(0, ), (, 2), (2, 3),, (p 2, p ) p N A 0, A,, A p 2 A i i i + 0 p i i i + A i A i π 0 < π < π 2 < < π p
Dijkstra NOI NOI 0 20 50 60