Prims Algorithm: Difference between revisions
From Rice Wiki
No edit summary |
No edit summary |
||
Line 30: | Line 30: | ||
<math> | <math> | ||
OPT = set of edges | OPT = \txt{set of edges} | ||
</math> | </math> | ||
Revision as of 01:17, 8 March 2024
Approach: Greedy
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]
Analysis
Priority queue is slower than array when the graph is dense, so sometimes it's better to use Dijsktra's algorithm.
Proof: Greedy
Suboptimality
Given MST tree for the graph G
Failed to parse (unknown function "\txt"): {\displaystyle OPT = \txt{set of edges} }
where the number of edges is , the weight of edges is minimum, and the tree is spanning.
Let be a leaf edge in the tree.