DM.2.J: Find minimum-cost spanning trees using Kruskal's algorithm.