Below are the steps for finding MST using Kruskal’s algorithm
1. Sort all the edges in non-decreasing order of their weight.
2. Pick the smallest edge. Check if it forms a cycle with the spanning tree formed so far. If cycle is not formed, include this edge. Else, discard it.
3. Repeat step#2 until there are (V-1) edges in the spanning tree.
We have discussed one implementation of Kruskal’s algorithm in previous post. In this post, a simpler implementation for adjacency matrix is discussed.
Edge 0:(0, 1) cost:2 Edge 1:(1, 2) cost:3 Edge 2:(1, 4) cost:5 Edge 3:(0, 3) cost:6 Minimum cost= 16
Note that the above solution is not efficient. The idea is to provide a simple implementation for adjacency matrix representations. Please see below for efficient implementations.
Kruskal’s Minimum Spanning Tree Algorithm | Greedy Algo-2
Kruskal’s Minimum Spanning Tree using STL in C++
- Prim's Algorithm (Simple Implementation for Adjacency Matrix Representation)
- Implementation of DFS using adjacency matrix
- Implementation of BFS using adjacency matrix
- Bellman Ford Algorithm (Simple Implementation)
- Strassen’s Matrix Multiplication Algorithm | Implementation
- Dijkstra’s Algorithm for Adjacency List Representation | Greedy Algo-8
- Push Relabel Algorithm | Set 2 (Implementation)
- Find if a degree sequence can form a simple graph | Havel-Hakimi Algorithm
- Karger's algorithm for Minimum Cut | Set 1 (Introduction and Implementation)
- Hopcroft–Karp Algorithm for Maximum Matching | Set 2 (Implementation)
- Implementation of Least Recently Used (LRU) page replacement algorithm using Counters
- Johnson’s algorithm for All-pairs shortest paths | Implementation
- Freivald’s Algorithm to check if a matrix is product of two
- Prim’s MST for Adjacency List Representation | Greedy Algo-6
- DFS for a n-ary tree (acyclic graph) represented as adjacency list
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.