G= (V, E)w s
s
π[v]v
δ(u, v)u v ∞d[v]
s v
p=hv0, v1, . . . , vkiw(p) = Pk
i=1 w(vi−1, vi)
(G, w, s)
v∈V
d[v]← ∞ π[v]←
d[s]←0
i1|V| − 1
(u, v)∈E(u, v)
d[v]> d[u] + w(u, v)
d[v]←d[u] + w(u, v)π[v]←u
(u, v)∈E
d[v]> d[u] + w(u, v)
z(y, v) 4
z
u
x
v
y
6
7
8
9
7
-3
-4
2
5
-2
(u, v)d[v]≤d[u] + w(u, v)
d[v]≥δ(s, v)v
d[v]δ(s, v)
(s, . . . , u, v)
v d[u] = δ(s, u)
(u, v)d[v] = δ(s, v)
G
s d[v] = δ(s, v)v
s
v s v
d[v]<∞
G
s d[v] = δ(s, v)v∈V
Gπv π(v)6= (π(v), v)
s G
s
wˆw
u, v ∈V u v
wˆw
(u, v) ˆw(u, v)
δ
wˆ
δ
ˆw
∀u∈V, adjacent[u]u
(G, w, s)
v∈V
d[v]← ∞ π[v]←
d[s]←0
E← ∅
F←V[G]G
F6=∅
u←v|d[v] = min{d[x]|x∈F}d
F←F− {u}
E←E∪ {u}
v∈adjacent[u] (u, v)
d[v]> d[u] + w(u, v)
d[v]←d[u] + w(u, v)π[v]←u
h:V→R
(u, v)∈Eˆw(u, v) = w(u, v) + h(u)−h(v)
p=hv0, v1, ..., vkiv0vkw(p) = δ(v0, vk)
ˆw(p) = ˆ
δ(v0, vk)
wˆw
ˆw
G0= (V0, E0)V0=V∪{s}s /∈V E0=E∪{(s, v) : v∈V}
w w(s, v) = 0 v∈V
h(v) = δ(s, v)v∈V0
G0G
1
2
5
3
4
3
-4
7
6
-5
1
2
4
8
O(V logV +E)
1 / 3 100%