Question: In this problem, we will develop a new algorithm for finding minimum spanning trees. It is based upon the following property: Pick any cycle

In this problem, we will develop a new algorithm for finding minimum spanning trees. It is based upon the following property: Pick any cycle in the graph, and let e be the heaviest edge in that cycle. Then there is a minimum spanning tree that does not contain e. (a) Prove this property carefully. (b) Here is the new MST algorithm. The input is some undirected graph G = (V, E) (in adja- cency list format) with edge weights {we}. sort the edges according to their weights for each edge e EE, in decreasing order of We: if e is part of a cycle of G: G=G-e (that is, remove e from G) return G Prove that this algorithm is correct. (c) On each iteration, the algorithm must check whether there is a cycle containing a specific edge e. Give a linear-time algorithm for this task, and justify its correctness. (d) What is the overall time taken by this algorithm, in terms of |E|? Explain your answer.
Step by Step Solution
3.46 Rating (149 Votes )
There are 3 Steps involved in it
a Proof of the property Pick any cycle in the graphand let e be the heaviest edge in that cycleWe can construct a minimum spanning tree that does not contain e by simply removing e from the cycleThis ... View full answer
Get step-by-step solutions from verified subject matter experts
