Professional Documents
Culture Documents
10 MST Kruskal
10 MST Kruskal
B C
D
Spanning Trees
A
A
B C B C
D
D
A A
C
B C B
D D
Minimum Spanning Tree
A
10 18
12
B C
24
8 14
D
Minimum Spanning Tree
A A
10 18 10
12
B C B C
24
8 14 8 14
D D
MST Kruskal
• Input: Undirected graph G = (V, E)
• Step 1: Sort all edges in E in ascending order of
weight
• Step 2: Select edges from Sorted list, add to MST
unless a loop is formed
• Output: Minimum Spanning Tree for G
Algorithm
Input: Graph G with V Vertices and E edges
Associated Structure: Union-Find set T for V nodes
Output: MST for G
Procedure MST-Kruskal(G)
Begin
Initialize T for |V|
Sort edges in E in ascending order
Repeat for all edges (u,v) in E
If Find(u) != Find (v)
Add (u,v)to MST
Union (u, v)
End If
End Repeat
End
8
Example
4 A
6
3
5 7
B C
D
2
9
8 12
E F
14
Example - 1
A
Sort Edges in wt. (asc.)
BE (2)
4 6
3 AD (3)
5 AB (4)
B 7
D C BD (5)
AC (6)
2 8 9 DC (7)
12
DE (8)
E 14 F CF (9)
DF (12)
EF (14)
Example - 2
A
Sort Edges in wt. (asc.)
BE (2)
4 6
3 AD (3)
5 AB (4)
B 7
D C BD (5)
AC (6)
2 8 9 DC (7)
12
DE (8)
E 14 F CF (9)
DF (12)
EF (14)
A B C D E F
-1 -1 -1 -1 -1 -1 Union-Find Parent Array
Example - 3
A
Edge: BE
BE (2)
4 6
3 AD (3)
5 AB (4)
B 7
D C BD (5)
AC (6)
2 8 9 DC (7)
12
DE (8)
E 14 F CF (9)
DF (12)
EF (14)
A B C D E F Reject DE
-1 1 1 1 2 -1
Example - 10
A
Select CF; Reject DF, EF
BE (2)
4 6
3 AD (3)
5 AB (4)
B 7
D C BD (5)
AC (6)
2 8 9 DC (7)
12
DE (8)
E 14 F CF (9)
DF (12)
EF (14)