EDUCBA Logo

EDUCBA

MENUMENU
  • Explore
    • EDUCBA Pro
    • PRO Bundles
    • All Courses
    • All Specializations
  • Blog
  • Enterprise
  • Free Courses
  • All Courses
  • All Specializations
  • Log in
  • Sign Up
Home Data Science Data Science Tutorials Data Structures Tutorial Kruskal’s Algorithm
 

Kruskal’s Algorithm

Savi Jagga
Article bySavi Jagga
EDUCBA
Reviewed byRavi Rathore

Updated March 27, 2023

Kruskal's Algorithm

 

 

Introduction to Kruskal’s Algorithm

It is the algorithm for finding the minimum spanning tree for a graph. This tries to provide a localized optimum solution to a problem that can provide a globally optimized solution to a problem, known as the Greedy approach. In this topic, we are going to learn about Kruskal’s Algorithm here the graph is taken as an input in this algorithm and the output includes one of the subsets of nodes of the graph that has the following features:-

Watch our Demo Courses and Videos

Valuation, Hadoop, Excel, Mobile Apps, Web Development & many more.

  1. A tree can be formed that includes every vertex of the graph.
  2. The sum of weights is minimum among all other possible subsets of the tree.

Example of Kruskal’s Algorithm

For better understanding we must understand some below terminologies:-

  • Cost of graph: This is the sum of the weights of all the edges in the tree of the graph. This can be used to represent the cost estimated to implement the link between the two vertices.
  • Minimum Spanning tree: It is a subgraph or a tree that connects all the graph vertices with the minimum cost possible.

Given, a graph having V vertices and E edges then T is said to be a Minimum spanning tree of that graph if and only if T contains all vertices in V and number of edges in T = n(V) -1 And the sum of weights of the all the edges in the graph is minimum.

KRUSKAL’S ALGORITHM

Below is the algorithm for KRUSKAL’S ALGORITHM:-

1. All the edges of the graph are sorted in non-decreasing order of their weights.

2. Start picking the edges from the above-sorted list one by one and check if it does not satisfy any of below conditions, otherwise, add them to the spanning tree:-

  • Including the edge in MST, forms a cycle.
  • The number of edges in MST is greater than or equal to V-1, where V is the number of vertices.

non-decreasing order

Consider the graph G=(V, E) where V is the set of 9 vertices and E is the set of 14 edges. We need to apply the KRUSKAL algorithm to find the minimum spanning tree out of this graph.

Let’s represent the edges in a table with their respective weights.

Edge Weight
V0V1 4
V0V7 8
V1V7 11
V1V2 8
V7V6 1
V7V8 7
V2V8 2
V8V6 6
V2V3 7
V6V5 2
V5V3 14
V2V5 4
V3V4 9
V5V4 10

Step 1 – Sort the above edges in non-decreasing order of their weights:-

Edge Weight
V7V6 1
V2V8 2
V6V5 2
V0V1 4
V2V5 4
V8V6 6
V7V8 7
V2V3 7
V0V7 8
V1V2 8
V3V4 9
V5V4 10
V1V7 11
V5V3 14

Step 2 – We will pick the edges one by one and add it to the spanning tree if it does not result in a cycle.

spanning tree

Since edge V7V6 is not forming any cycle, thus can be added to MST.

Thus number of edges is MST = 1 ( < number of vertices-1 i.e 8)  and Weight of the edge = 1

edge V7V6

Since edge V2V8 is not forming any cycle, thus can be added to MST.

Thus number of edges is MST = 2 ( < number of vertices-1 i.e 8) and Weight of the edge = 1+2 =3

edge V2V8

Since edge V6V5 is not forming any cycle, thus can be added to MST.

Thus number of edges is MST = 3 ( < number of vertices-1 i.e 8) and Weight of the edge = 1+2 +2 =5

Kruskal's Algorithm

Since edge V0V1 is not forming any cycle, thus can be added to MST.

Thus number of edges is MST = 4 ( < number of vertices-1 i.e 8) and Weight of the edge = 1+2 +2+4=9

Kruskal's Algorithm

Since edge V2V5 is not forming any cycle, thus can be added to MST.

Thus number of edges is MST = 5 ( < number of vertices-1 i.e 8) and Weight of the edge = 1+2 +2 +4+4 =13

Kruskal's Algorithm

Since edge V8V6 is forming a cycle thus can not be added to MST.

Kruskal's Algorithm

Since edge V8V7 is forming a cycle thus can not be added to MST.

Kruskal's Algorithm

Since edge V2V3 is not forming any cycle, thus can be added to MST.

Thus number of edges is MST = 6 ( < number of vertices-1 i.e 8) and Weight of the edge = 1+2 +2 +4+4+7 =20

Kruskal's Algorithm

Since edge V0V7 is not forming any cycle, thus can be added to MST.

Thus number of edges is MST = 7 ( < number of vertices-1 i.e 8) and Weight of the edge = 1+2 +2 +4+4+7 +8=28

Kruskal's Algorithm

Since edge V8V7 is forming a cycle thus can not be added to MST.

Kruskal's Algorithm

Since edge V0V7 is not forming any cycle, thus can be added to MST.

Thus number of edges is MST = 6 ( < number of vertices-1 i.e 8) and Weight of the edge = 1+2 +2 +4+4+7 +8 +9= 37

The number OF vertices in MST = 8 Thus one of the stopping conditions have been met. Thus below is our minimum spanning tree.

Kruskal's Algorithm

Weight of the above-spanning tree = 37.

In such a way, one can easily find the minimum spanning tree for a given graph.

Below is the pseudo-code for this algorithm:-

Pseudo Code

KRUSKAL(G,w)
1.A = NULL.
2.for each vertex v in G.V
MAKE-SET(v)
1.Sort the edges G.E into non-decreasing order by weight w.
2.For each edge (u,v) in G.E, taken in non decreasing order
a.If FIND-SET(u) != FIND-SET(v)
A= AU{(u,v)}
UNION(u,v)
3.Return A.

This disjoint set of vertices of a graph is required at most network cable companies to spread their cables across the city within different cities. Thus KRUSKAL algorithm is used to find such a disjoint set of vertices with minimum cost applied.

Conclusion

Kruskal’s Algorithm is one technique to find out minimum spanning tree from a graph, a tree containing all the vertices of the graph and V-1 edges with minimum cost. The complexity of this graph is (VlogE) or (ElogV). The disjoint sets given as output by this algorithm are used in most cable companies to spread the cables across the cities.

Recommended Articles

This is a guide to Kruskal’s Algorithm. Here we discuss the Examples of Kruskal’s Algorithm along with terminologies and pseudo code. You may also have a look at the following articles to learn more –

  1. Perceptron Learning Algorithm
  2. DFS Algorithm
  3. Deep Learning Algorithms
  4. Symmetric Algorithms
Primary Sidebar
Footer
Follow us!
  • EDUCBA FacebookEDUCBA TwitterEDUCBA LinkedINEDUCBA Instagram
  • EDUCBA YoutubeEDUCBA CourseraEDUCBA Udemy
APPS
EDUCBA Android AppEDUCBA iOS App
Blog
  • Blog
  • Free Tutorials
  • About us
  • Contact us
  • Log in
Courses
  • Enterprise Solutions
  • Free Courses
  • Explore Programs
  • All Courses
  • All in One Bundles
  • Sign up
Email
  • [email protected]

ISO 10004:2018 & ISO 9001:2015 Certified

© 2025 - EDUCBA. ALL RIGHTS RESERVED. THE CERTIFICATION NAMES ARE THE TRADEMARKS OF THEIR RESPECTIVE OWNERS.

EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you
EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you
EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you

Loading . . .
Quiz
Question:

Answer:

Quiz Result
Total QuestionsCorrect AnswersWrong AnswersPercentage

Explore 1000+ varieties of Mock tests View more

EDUCBA
Free Data Science Course

Hadoop, Data Science, Statistics & others

By continuing above step, you agree to our Terms of Use and Privacy Policy.
*Please provide your correct email id. Login details for this Free course will be emailed to you
EDUCBA Login

Forgot Password?

🚀 Limited Time Offer! - 🎁 ENROLL NOW