





















Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
An overview of minimum spanning trees (msts), their applications, and algorithms for finding msts. Topics include spanning trees, depth-first and breadth-first traversals, prim's algorithm, kruskal's algorithm, and union-find. Msts are essential in minimizing the length of telephone lines, airplane routes, and other applications.
Typology: Exams
1 / 29
This page cannot be seen from the preview
Don't miss anything!






















Overview
Union-Find
Spanning Tree Construction
if (Y is not in Known)Parent[Y] = XAdd Y to Knownexplore(Y) }
Spanning Tree Construction
take node X out of Discoveredfor each successor Y of Xif (Y is not in Known)
Parent[Y] = XAdd Y to DiscoveredAdd Y to Known }
Depth-First Spanning Tree Example
Breadth-First Spanning Tree Example
Minimum Spanning Tree (MST) Spanning tree with minimum total edge weight
Minimum Spanning Tree (MST) Possible to have multiple MSTs Different spanning trees with same weight Example applications Minimize length of telephone lines for neighborhood Minimize distance of airplane routes serving cities
Algorithms for Finding MST
Add vertices to MST^ One at a time^ Closest vertex first
Add edges to MST^ One at a time^ Lightest edge first
Shortest Path – Dijkstra’s AlgorithmS =^ ∅ P[ ] = none for all nodesC[start] = 0, C[ ] =
∞^ for all other nodes
while ( not all nodes in S
find node K not in S with smallest C[K]add K to Sfor each node J not in S adjacent to Kif ( C[K] + cost of (K,J) < C[J] )
C[J] = C[K] + cost of (K,J)P[J] = K Optimal solution computed with greedy algorithm
MST – Kruskal’s Algorithm
sort edges by weight (from least to most)tree =
for each edge (X,Y) in orderif it does not create a cycle
add (X,Y) to treestop when tree has N–1 edges Keeps track of
lightest edge remaining whether adding edge to MST creates cycle Optimal solution computed with greedy algorithm
MST – Kruskal’s Algorithm Example
MST – Kruskal’s Algorithm
Add (X,Y) to MST? Answer No, since can alreadyreach Y from X bytraversing MST
x
y z w
?
MST – Kruskal’s Algorithm
Add edge (X,Y) to spanning tree2. Merge sets containing X, Y