Kruskal's Minimum Spanning Tree Algorithm: Does Partial Sorting of the List of Edges Improve Performance?

Document Type


Publication Date



Computer Sciences | Physical Sciences and Mathematics


Lynn Ziegler, Computer Science


Computer program implementations of Kruskal's MST algorithm frequently create a list of the weighted graph edges and sort the list in ascending order. My project implements Kruskal's using three sorting techniques: 1) Standard QuickSort sorts the entire list of edges. 2) Modified QuickSort adds edges to the MST as the partition process isolates subgroups of about ten of the lowest weighted edges, stopping when the MST is complete. 3) Heap Kruskal removes edges from a minimizing heap until the MST is complete.

When run on randomly generated graphs, both partial sorting techniques can have shorter run times. Modified QuickSort is faster when less than about 90% of the graph edges must be sorted. Heap Kruskal is faster when the graphs have two edge weights and less than 60% of the edges must be sorted; with 100,000 edge weights this percentage drops to 15%. Modified QuickSort yields significantly better performance than the other two techniques.