Kruskal’s Algorithm
It is a greedy algorithm used to find the Minimum Spanning Tree (MST) of a connected, weighted, undirected graph.
Points to Remember:
- Sort all the edges (ascending order).
- Create union find for all ‘n’ node.
- if no cycle, add to (uf).
- if cycle, skip.
- Stop when
MSThas (n-1) edges.
Example 1:
- 0 β 3, 1 β
- 0 β 1, 2 β
- 1 β 3, 3 β Cycle (Skip)
- 1 β 2, 3 β
- 0 β 4, 4 β
- 3 β 2, 5 β Cycle (Skip)
- 1 β 5, 7 β
- MST Cost: 1 + 2 + 3 + 4 + 7 = 17
Sorted Edges:
There are no more edges to explore once you have obtained nβ1 edges.
Example 2:
- 1, 2 β 2
- 2, 5 β 2
- 2, 3 β 3
- 3, 4 β 3
- 4, 5 β 3
- 0, 2 β 4
- 0, 1 β 4
- 2, 4 β 4
Sorted Edges:
Exploring Edges
- 1, 2 β 2
- 2, 5 β 2
- 2, 3 β 3
- 3, 4 β 3
- 4, 5 β 3
- 0, 2 β 4
- 0, 1 β 4
- 2, 4 β 4
Cycle Detected (Skip)
Cycle Detected (Skip)
Cycle Detected (Skip)
MST => 2 + 2 + 3 + 3 + 4 => 14
