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)
- 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)
- Karger's algorithm for Minimum Cut | Set 1 (Introduction and Implementation)
- Hopcroft–Karp Algorithm for Maximum Matching | Set 2 (Implementation)
- Johnson’s algorithm for All-pairs shortest paths | Implementation
- Freivald’s Algorithm to check if a matrix is product of two
- DFS for a n-ary tree (acyclic graph) represented as adjacency list
- Prim’s MST for Adjacency List Representation | Greedy Algo-6
- C/C++ program to make a simple calculator
- Menu Driven C++ Program for a Simple Calculator
- Number of Simple Graph with N Vertices and M Edges
- Check if matrix can be converted to another matrix by transposing square sub-matrices
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. 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.