

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
Material Type: Assignment; Class: COMPUTATIONAL PHOTOGRAPHY & VI; Subject: Computer/Information Sciences; University: University of Delaware; Term: Spring 2009;
Typology: Assignments
1 / 2
This page cannot be seen from the preview
Don't miss anything!


Give a linear time algorithm for finding a minimum spanning tree of a planar graph.
Let G(V, E) be a planar graph with edge weight w(e) where e ∈ E. We use two properties of planar graphs to give linear time algorithm:
Let S(v) denote the set of edges incident on vertex v.
Step-1 Let T be the minimum spanning tree of graph G. Initialize T = Ø;
Step-2 Create two buckets A and B. For each vertex v∈V , if degree of vi < 4, place vi in bucket A; else place vi in bucket B;
Step-3 Pick a vertex v from bucket A:
Case-1 If S(v) contains a self loop by edge e, remove the edge e from graph; reduce the degree of vertices containing e by 1; update the vertices to buckets A and B on basis of degree; Goto Step-3. Case-2 If S(v) does not contain self loop:
Step-4 Output minimum spanning tree T.
Proof
a. The algorithm always finds a vertex in bucket A of degree less than 4 because by edge contraction and deletion, the planar graph property is maintained.
b. Essentially, it is the same as Prim’s algorithm, but we reduce the time by considering vertices with degree less than 4, thus limiting the time to find minimum weight edge to O(1). So it can be easily verified that T is MST of graph G.
c. As at most 4 vertices are updated at a time, the bucket update takes time O(1).
d. Total RT = T (Step 2) + |E| ∗ T (Step 3) = O(|V | + |E|). For planar graph, |E| ≤ 3 |V | − 6, so RT = O(|V | + 3|V | − 6) = O(|V |).