Given an undirected unweighted connected graph consisting of n vertices and m edges. The task is to find any spanning tree of this graph such that the maximum degree over all vertices is maximum possible. The order in which you print the output edges does not matter and an edge can be printed in reverse also i.e. (u, v) can also be printed as (v, u).
Input: 1 / \ 2 5 \ / 3 | 4 Output: 3 2 3 5 3 4 1 2 The maximum degree over all vertices is of vertex 3 which is 3 and is maximum possible. Input: 1 / 2 / \ 5 3 | 4 Output: 2 1 2 5 2 3 3 4
Prerequisite: Kruskal Algorithm to find Minimum Spanning Tree
Approach: The given problem can be solved using Kruskal’s algorithm to find the Minimum Spanning tree.
We find the vertex which has maximum degree in the graph. At first we will perform the union of all the edges which are incident to this vertex and than carry out normal Kruskal’s algorithm. This gives us optimal spanning tree.
3 2 3 5 3 4 1 2
- Boruvka's algorithm for Minimum Spanning Tree
- Reverse Delete Algorithm for Minimum Spanning Tree
- Kruskal’s Minimum Spanning Tree Algorithm | Greedy Algo-2
- Maximum Possible Edge Disjoint Spanning Tree From a Complete Graph
- Kruskal's Minimum Spanning Tree using STL in C++
- Minimum Product Spanning Tree
- Find the weight of the minimum spanning tree
- Applications of Minimum Spanning Tree Problem
- Minimum spanning tree cost of given Graphs
- Prim’s Minimum Spanning Tree (MST) | Greedy Algo-5
- Make a tree with n vertices , d diameter and at most vertex degree k
- Maximum sub-tree sum in a Binary Tree such that the sub-tree is also a BST
- Dinic's algorithm for Maximum Flow
- Ford-Fulkerson Algorithm for Maximum Flow Problem
- Hopcroft–Karp Algorithm for Maximum Matching | Set 1 (Introduction)
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.