Skip to content
EntityQ797860· pop 31· linked from 165 articles

Kruskal's algorithm

Sign in to save

minimum spanning forest algorithm that greedily adds edges

Key facts

Class
Minimum spanning tree algorithm
Data structure
Graph
Worst case performance
O ( | E | log ⁡ | V | ) {\displaystyle O(|E|\log |V|)}

via Wikipedia infobox

Wikidata facts

Named after
Joseph Kruskal
Image
MST kruskal en.gif
Show 6 more facts
Commons category
Kruskal's algorithm
publication date
1956-00-00
discoverer or inventor
Joseph Kruskal
computes solution to
minimum spanning tree
Sources (2)

via Wikidata · CC0

~9 min read

Encyclopedic overview

Kruskal's algorithm finds a minimum spanning forest of an undirected edge-weighted graph. If the graph is connected, it finds a minimum spanning tree. It is a greedy algorithm that in each step adds to the forest the lowest-weight edge that will not form a cycle. The key steps of the algorithm are sorting and the use of a disjoint-set data structure to detect cycles. Its running time is dominated by the time to sort all of the graph edges by their weight.

A minimum spanning tree of a connected weighted graph is a connected subgraph, without cycles, for which the sum of the weights of all the edges in the subgraph is minimal. For a disconnected graph, a minimum spanning forest is composed of a minimum spanning tree for each connected component.

Excerpted from Wikipedia’s “Kruskal's algorithm” article, available under the CC BY-SA 4.0 licence.