Kruskal's Algorithm
From Rice Wiki
<aside class="portable-infobox noexcerpt pi-background pi-theme-default pi-layout-stacked">
Kruskal's Algorithm
</aside>
Approach
Select edges in order of smallest to largest, using disjoint-sets to prevent cycles.
Analysis
Sort edges + E (cycle?) + (V - 1) adding edge
Sorting takes E log E
For weighted disjoint set, checking cycle takes log V, and adding edge takes log V
For fast-find, where all members have the same ID, fast-set-id needs O(1) and union needs O(n)