Content deleted Content added
→Pseudocode: make more readable |
→Pseudocode: improve presentation + add idea of a (very simple and effective) optimization Tag: Reverted |
||
Line 40:
== Pseudocode ==
'''algorithm''' Borůvka '''is'''
'''input:''' A weighted undirected graph ''G'' = (''V'', ''E'').
Line 49:
''completed'' = '''false'''
'''while''' not ''completed'' '''do'''
Find the [[connected
Initialize the cheapest edge for each component to "None"
'''for each''' edge ''uv'' where ''u'' and ''v'' are in different components:
Line 65:
In the conditional clauses, every edge ''uv'' is considered cheaper than "None". The purpose of the ''completed'' variable is to determine whether the forest ''F'' is yet a spanning forest.
If edges do not have distinct weights, then a consistent tie-breaking rule can be used (e.g.
An even more important optimization would be to keep track of which vertex belongs to which component, and update this information when an edge is added to ''E''', instead of recomputing this information in each iteration of the while loop.
== Complexity ==
|