Problem

In this problem, we will develop a new algorithm for finding minimum spanning trees. It is...

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 weightsfor each edge e ∈ E, 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|?

Step-by-Step Solution

Request Professional Solution

Request Solution!

We need at least 10 more requests to produce the solution.

0 / 10 have requested this problem solution

The more requests, the faster the answer.

Request! (Login Required)


All students who have requested the solution will be notified once they are available.
Add your Solution
Textbook Solutions and Answers Search
Solutions For Problems in Chapter 5