# Kruskal's Algorithm

Every Graph G has more than one spanning tree and all the spanning trees of a given graph have an equal number of edges and vertices. Given a connected and undirected graph, a spanning tree of that graph is a subgraph that is a tree and connects all the vertices together.

** A minimum spanning tree (MST)** or **minimum weight spanning tree** is a subset of the edges of a connected, edge-weighted (un)directed graph that connects all the vertices together, without any cycles and with the minimum possible total edge weight. Kruskal's Algorithm is used to find the minimum spanning tree using a greedy approach.

## Following example illustrates how to find the minimum spanning tree using Kruskal's Algorithm

Let's arrange all the edges in increasing order of their weights

Weight | Source, Destination |
---|---|

1 | E,C |

2 | C,D |

5 | B,C |

6 | A,B |

7 | A,E |

8 | E,D |

Given Graph G is connected and with undirected edges..

Pick the less cost weight edge from the table which is E,C with cost 1. Mark them in given graph with bold black line as shown below.

Next minimum cost is 2 with edges C,D . As it does not forms a cycle , add bold line in graph.

Next minimum cost is 5 with edges B,C . As it does not forms a cycle , add bold line in graph.

Next minimum cost is 6 with edges A,B . As it does not forms a cycle , add bold line in graph.

Next minimum cost is 7 with edges A,E . As it forms a cycle , ignore it and disconnect from the graph.

Next minimum cost is 8 with edges E,D . As it forms a cycle , ignore it and disconnect from the graph.

The given tree is minimum cost spanning tree.

## Solve the Quiz of Article

**
**

**codzify.com**

Largest collection of up-to-date tutorials to learn programming languages. We are focused on easy learning. Massive collection of interview questions one may need for preparation.

**Tutorials Library**

C, C++, Java, Python Data Structures, Swift, Objective C, Swift iOS, iOS Objective C, Socket.Io, Android, Extras by Codzify.