Kruskal's Algorithm: Difference between revisions

From Rice Wiki
No edit summary
Line 1: Line 1:
{{Infobox Algorithm|runtime=Sort + E cycle? + (V - 1) adding-edge|class=[[Minimum Spanning Tree]], [[Greedy Algorithm]]}}<aside class="portable-infobox noexcerpt pi-background pi-theme-default pi-layout-stacked">
{{Infobox Algorithm|runtime=Sort + E cycle? + (V - 1) adding-edge|class=[[Minimum Spanning Tree]], [[Greedy Algorithm]]}}
== Kruskal's Algorithm ==
</aside><span></span>
 
= Approach =
= Approach =



Revision as of 00:03, 13 March 2024

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)