Minimum Spanning Trees Prim’s Algorithm Kruskal’s Algorithm
Minimum Spanning TreesPrims Algorithm Kruskals Algorithm
Prims Algorithm Initialize array425
AHBFEDCG721018343789310
2
KdvpvAFBFCFDFEFFFGFHF
425
AHBFEDCG721018343789310Start with any node, say D
2
KdvpvABC DT0EFGH
425
AHBFEDCG721018343789310Update distances of adjacent, unselected nodes
2
KdvpvABC 3DDT0E25DF18DG2DH
425
AHBFEDCG721018343789310Select node with minimum distance
2
KdvpvABC 3DDT0E25DF18DGT2DH
425
AHBFEDCG721018343789310Update distances of adjacent, unselected nodes
2
KdvpvABC 3DDT0E7GF18DGT2DH3G
425
AHBFEDCG721018343789310Select node with minimum distance
2
KdvpvABCT 3DDT0E7GF18DGT2DH3G
425
AHBFEDCG721018343789310Update distances of adjacent, unselected nodes
2
KdvpvAB4CCT 3DDT0E7GF3CGT2DH3G
425
AHBFEDCG721018343789310Select node with minimum distance
2
KdvpvAB4CCT 3DDT0E7GFT3CGT2DH3G
425
AHBFEDCG721018343789310Update distances of adjacent, unselected nodes
2
KdvpvA10FB4CCT 3DDT0E2FFT3CGT2DH3G
425
AHBFEDCG721018343789310Select node with minimum distance2
KdvpvA10FB4CCT 3DDT0ET2FFT3CGT2DH3G
425
AHBFEDCG721018343789310Update distances of adjacent, unselected nodes2Table entries unchanged
KdvpvA10FB4CCT 3DDT0ET2FFT3CGT2DH3G
425
AHBFEDCG721018343789310Select node with minimum distance2
KdvpvA10FB4CCT 3DDT0ET2FFT3CGT2DHT3G
425
AHBFEDCG721018343789310Update distances of adjacent, unselected nodes2
KdvpvA4HB4CCT 3DDT0ET2FFT3CGT2DHT3G
425
AHBFEDCG721018343789310Select node with minimum distance2
KdvpvAT4HB4CCT 3DDT0ET2FFT3CGT2DHT3G
425
AHBFEDCG721018343789310Update distances of adjacent, unselected nodes2Table entries unchanged
KdvpvAT4HB4CCT 3DDT0ET2FFT3CGT2DHT3G
425
AHBFEDCG721018343789310Select node with minimum distance2
KdvpvAT4HBT4CCT 3DDT0ET2FFT3CGT2DHT3G
4
AHBFEDCG23433Cost of Minimum Spanning Tree = dv = 212Done
KdvpvAT4HBT4CCT 3DDT0ET2FFT3CGT2DHT3G
Kruskals Algorithm
Work with edges, rather than nodesTwo steps:Sort edges by increasing edge weightSelect the first |V| 1 edges that do not generate a cycle
Walk-ThroughConsider an undirected, weight graph51
AHBFEDCG3246343484310
Sort the edges by increasing edge weight51
AHBFEDCG3246343484310
edgedv(D,E)1 (D,G)2 (E,G)3 (C,D)3 (G,H)3 (C,F)3 (B,C)4
edgedv(B,E)4 (B,F)4 (B,H)4 (A,H)5 (D,F)6 (A,B)8 (A,F)10
Select first |V|1 edges which do not generate a cycle51
AHBFEDCG3246343484310
edgedv(D,E)1(D,G)2(E,G)3(C,D)3(G,H)3 (C,F)3(B,C)4
edgedv(B,E)4(B,F)4(B,H)4(A,H)5(D,F)6(A,B)8(A,F)10
Select first |V|1 edges which do not generate a cycle51
AHBFEDCG3246343484310
edgedv(D,E)1(D,G)2(E,G)3(C,D)3(G,H)3 (C,F)3(B,C)4
edgedv(B,E)4(B,F)4(B,H)4(A,H)5(D,F)6(A,B)8(A,F)10
Select first |V|1 edges which do not generate a cycle51
AHBFEDCG3246343484310Accepting edge (E,G) would create a cycle
edgedv(D,E)1(D,G)2(E,G)3(C,D)3(G,H)3 (C,F)3(B,C)4
edgedv(B,E)4(B,F)4(B,H)4(A,H)5(D,F)6(A,B)8(A,F)10
Select first |V|1 edges which do not generate a cycle51
AHBFEDCG3246343484310
edgedv(D,E)1(D,G)2(E,G)3(C,D)3(G,H)3 (C,F)3(B,C)4
edgedv(B,E)4(B,F)4(B,H)4(A,H)5(D,F)6(A,B)8(A,F)10
Select first |V|1 edges which do not generate a cycle51
AHBFEDCG3246343484310
edgedv(D,E)1(D,G)2(E,G)3(C,D)3(G,H)3 (C,F)3(B,C)4
edgedv(B,E)4(B,F)4(B,H)4(A,H)5(D,F)6(A,B)8(A,F)10
Select first |V|1 edges which do not generate a cycle51
AHBFEDCG3246343484310
edgedv(D,E)1(D,G)2(E,G)3(C,D)3(G,H)3 (C,F)3(B,C)4
edgedv(B,E)4(B,F)4(B,H)4(A,H)5(D,F)6(A,B)8(A,F)10
Select first |V|1 edges which do not generate a cycle51
AHBFEDCG3246343484310
edgedv(D,E)1(D,G)2(E,G)3(C,D)3(G,H)3 (C,F)3(B,C)4
edgedv(B,E)4(B,F)4(B,H)4(A,H)5(D,F)6(A,B)8(A,F)10
Select first |V|1 edges which do not generate a cycle51
AHBFEDCG3246343484310
edgedv(D,E)1(D,G)2(E,G)3(C,D)3(G,H)3 (C,F)3(B,C)4
edgedv(B,E)4(B,F)4(B,H)4(A,H)5(D,F)6(A,B)8(A,F)10
Select first |V|1 edges which do not generate a cycle51
AHBFEDCG3246343484310
edgedv(D,E)1(D,G)2(E,G)3(C,D)3(G,H)3 (C,F)3(B,C)4
edgedv(B,E)4(B,F)4(B,H)4(A,H)5(D,F)6(A,B)8(A,F)10
Select first |V|1 edges which do not generate a cycle51
AHBFEDCG3246343484310
edgedv(D,E)1(D,G)2(E,G)3(C,D)3(G,H)3 (C,F)3(B,C)4
edgedv(B,E)4(B,F)4(B,H)4(A,H)5(D,F)6(A,B)8(A,F)10
Select first |V|1 edges which do not generate a cycle51
AHBFEDCG3246343484310
edgedv(D,E)1(D,G)2(E,G)3(C,D)3(G,H)3 (C,F)3(B,C)4
edgedv(B,E)4(B,F)4(B,H)4(A,H)5(D,F)6(A,B)8(A,F)10
Select first |V|1 edges which do not generate a cycle51
AHBFEDCG2333DoneTotal Cost = dv = 214}not considered
edgedv(D,E)1(D,G)2(E,G)3(C,D)3(G,H)3 (C,F)3(B,C)4
edgedv(B,E)4(B,F)4(B,H)4(A,H)5(D,F)6(A,B)8(A,F)10