Kruskal's algorithm is a minimum spanning tree algorithm that takes a graph as input and finds the subset of the edges of that graph which
* has the minimum sum of weights among all the trees that can be formed from the graph
How Kruskal's algorithm works
* It falls under a class of algorithms called greedy algorithms that find the local optimum in the hopes of finding a global optimum.
* We start from the edges with the lowest weight and keep adding edges until we reach our goal.
The steps for implementing Kruskal's algorithm are as follows :
* Sort all the edges from low weight to high
* Take the edge with the lowest weight and add it to the spanning tree. If adding the edge created a cycle, then reject this edge.
* Keep adding edges until we reach all vertices.