Prims Algorithm: Difference between revisions

From Rice Wiki
No edit summary
No edit summary
Line 1: Line 1:
{{Infobox Algorithm|class=[[Minimum_Spanning_Tree]] <br> [[Graph Algorithm]] <br> [[Greedy Algorithm]]|runtime=Heap: O(E log V) <br> Array: O(V^2)}}<aside class="portable-infobox noexcerpt pi-background pi-theme-default pi-layout-stacked">
{{Infobox Algorithm|class=[[Minimum_Spanning_Tree]] <br> [[Graph Algorithm]] <br> [[Greedy Algorithm]]|runtime=Heap: O(E log V) <br> Array: O(V^2)}}
== Prims Algorithm ==
</aside><span></span>
 
= Approach: Greedy =
= Approach: Greedy =



Revision as of 01:54, 6 March 2024

Approach: Greedy

See Minimum_Spanning_Tree

Implementation

for each u in V:
    key[u] = infinity   // cost array
    pi[u] = infinity    // from array
Q = new PriorityQueue(V)
key[root] = 0
while Q is not empty:
    u = extractMin(Q)
    # Reduce nodes
    for v in adj[u]:
        if v in Q and w[u,v] < key[v]:
            key[v] = w[u,v]