Does Max-Kruskal Algorithm Find the Maximum Spanning Tree?

  • Context: MHB 
  • Thread starter Thread starter evinda
  • Start date Start date
  • Tags Tags
    Algorithm
Click For Summary
SUMMARY

The Max-Kruskal algorithm effectively finds the Maximum Spanning Tree (MST) of a graph G=(V,E) by modifying the traditional Kruskal algorithm. Instead of sorting edges by increasing weights, it sorts them in decreasing order. The algorithm constructs the MST by ensuring that no cycles are formed while maximizing the total edge weight. The proof of its correctness hinges on demonstrating that the resulting tree is both a spanning tree and has maximal weight.

PREREQUISITES
  • Understanding of graph theory concepts, specifically spanning trees
  • Familiarity with the Kruskal algorithm for Minimum Spanning Trees
  • Knowledge of union-find data structures for cycle detection
  • Basic proof techniques in algorithm analysis
NEXT STEPS
  • Study the properties of spanning trees in graph theory
  • Learn about the union-find data structure and its applications in Kruskal's algorithm
  • Explore proof techniques for algorithm correctness, focusing on contradiction methods
  • Investigate other algorithms for finding Maximum Spanning Trees, such as Prim's algorithm variations
USEFUL FOR

Computer scientists, algorithm enthusiasts, and students studying graph theory who are interested in spanning tree algorithms and their applications in optimization problems.

evinda
Gold Member
MHB
Messages
3,741
Reaction score
0
Hello! (Wave)

Give an algorithm that finds the MST (maximum spanning tree) of a graph $G=(V,E)$.
Prove that the algorithm you gave finds the MST.

I tried the following:

I applied the Kruskal algorithm, but instead of ordering the edges by weights in increasing order I ordered them in decreasing order.

Code:
    Max-KRUSKAL(G,w)
    1. A={}
    2. for each vertex v∈ G.V
    3.      MAKE-SET(v)
    4. sort the edges of G.E into decreasing order by weight w
    5. for each edge (u,v) ∈ G.E, taken in decreasing order by weight w
    6.      if FIND-SET(u)!=FIND-SET(v)   
    7.         A=A U {(u,v)}  
    8.         Union(u,v)
    9. return A
To prove that this algorithm finds indeed the MST, we have to prove that the algorithm produces a spanning tree and that the constructed spanning tree is of maximal weight. But could you give me a hint how we could prove the properties Spanning Tree Validity and Maximality ?
 
Technology news on Phys.org
Or do we suppose that the algorithm does not give the maximum spanning tree, in order to get a contradiction?
 

Similar threads

  • · Replies 3 ·
Replies
3
Views
2K
Replies
1
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 11 ·
Replies
11
Views
3K
  • · Replies 22 ·
Replies
22
Views
5K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 13 ·
Replies
13
Views
4K
  • · Replies 8 ·
Replies
8
Views
3K
  • · Replies 22 ·
Replies
22
Views
2K
  • · Replies 7 ·
Replies
7
Views
3K