Professional Documents
Culture Documents
Greedy Algorithms: Comp 122, Spring 2004
Greedy Algorithms: Comp 122, Spring 2004
0 if Sij
Recursive c[i, j ]
max{c[i, k ] c[k , j ] 1} if Sij
Solution: ik j
a 1
3 -3
d e f
0
A := ;
while A not complete tree do
find a safe edge (u, v);
A := A {(u, v)}
od
a
5
b 7 c a light edge crossing cut
(could be more than one)
1 -3
11 3
cut partitions vertices into
d
0
e
2
f disjoint sets, S and V – S.
Proof:
Let T be a MST that includes A.
Case: (u, v) in T. We’re done.
Case: (u, v) not in T. We have the following:
edge in A
(x, y) crosses cut.
x Let T´ = T - {(x, y)} {(u, v)}.
y cut Because (u, v) is light for cut,
u
w(u, v) w(x, y). Thus,
w(T´) = w(T) - w(x, y) + w(u, v) w(T).
shows edges Hence, T´ is also a MST.
in T v So, (u, v) is safe for A.
greedy - 15 Comp 122, Fall 2003 Lin / Devi
Corollary
Not in tree
a/0 5 b/ 7 c/
11 3 1 -3 Q=a b c d e f
0
d/ e/ f/
0 2
11 3 1 -3 Q=b d c e f
5 11
d/11 e/ f/
0 2
11 3 1 -3 Q=e c d f
3 7 11
d/11 e/3 f/
0 2
11 3 1 -3 Q=d c f
0 1 2
d/0 e/3 f/2
0 2
11 3 1 -3 Q=c f
1 2
d/0 e/3 f/2
0 2
11 3 1 -3 Q=f
-3
d/0 e/3 f/-3
0 2
11 3 1 -3 Q=
d/0 e/3 f/-3
0 2
3 1 -3