Chapter 5: Q21E (page 164)
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 adjacency list format) with edge weights {we}.sort the edges according to their weights for each edge , 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 . 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 ? Explain your answer.
Short Answer
a).For finding minimum spanning tree which contain cycle in the graph, and a heaviest edge in that cycle. Then there is a minimum spanning tree that does not contain that edge is proved.
b).The new minimum spanning tree algorithm in adjacency list format with edge weights is defined.
c).A linear-time algorithm where a cycle containing a specific edge is given below.
d). The total running time for this algorithm takes .