Shortest-Path Weight :
( )
( ) {
ke v.
RELAXING AN EDGE
RELAX(u, v, w)
if d[v] >= d[u] + w(u, v)
then d[v] = d[u] + w(u, v)
π[v]← u
CONTOH:
Dengan menggunakan relaxing an edge, carilah shortest path dari
graf berikut ini (start dari s ):
INITIALIZE SINGLE SOURCE (G,s)
RELAX(s, a, w)
if d[a] > =d[s] + w(s, a) ? YA
then d[a] = d[s] + w(s, a) = (0+2=2)
π[a]← s
RELAX(s, e, w)
if d[e] > =d[s] + w(s, e) ? YA
then d[e] = d[s] + w(s, e) = (0+4=4)
π[e]← s
RELAX(a, b, w)
if d[b] > =d[a] + w(a, b) ? NO
RELAX(e, b, w)
if d[b] > =d[e] + w(e, b) ? YA
then d[b] = d[e] + w(e, b) = (4+3=7)
π[b]← e
RELAX(e, f, w)
if d[f] > =d[e] + w(e, f) ? YA
then d[f] = d[e] + w(e, f) = (4+5=9)
π[f]← e
RELAX(b, c, w)
if d[c] > =d[b] + w(b, c) ? YA
then d[c] = d[b] + w(b, c) = (7+2=9)
π[c]← b
Shortest path ini jumlah bobotnya adalah = 2 + 9 + 5 = 16
ALGORITMA DIJKSTRA
CONTOH:
s, d[s] = 0 (*)
u, d[u] =
v, d[v] =
x, d[x] =
y, d[y] =
u, d[u] = 10
v, d[v] =
x, d[x] = 5 (*)
y, d[y] =
u, d[u] = min(10, 5+3) =8
v, d[v] = min(, 5+9) = 14
y, d[y] = min(, 5+2) = 7 (*)
Graf inputnya :
SSSP nya :
Jumlah bobot dari SSSP nya = 5+3+1+2 = 11
Tugas:
1. Dengan menggunakan algoritma Dijkstra, carilah SSSP dari
graf berikut ini ( start dari vertex s ):