Minimum degree spanning tree

In graph theory, a minimum degree spanning tree is a subset of the edges of a connected graph that connects all the vertices together, without any cycles, and its maximum degree of its vertices as small as possible. That is, it is a spanning tree whose maximum degree is minimal.

The decision problem is: Given a graph G and an integer k, does G have a spanning tree such that no vertex has degree greater than k? This is also known as the degree-constrained spanning tree problem.

Algorithms

Finding the minimum degree spanning tree of an undirected graph is NP-hard. This can be shown by reduction to the Hamiltonian path problem. For directed graphs, finding the minimum degree spanning tree is also NP-hard.

R. Krishman and B. Raghavachari (2001) have a quasi-polynomial time approximation algorithm to solve the problem for directed graphs.

M. Haque, Md. R. Uddin, and Md. A. Kashem (2007) found a linear time algorithm that can find the minimum degree spanning tree of series-parallel graphs with small degrees.

G. Yao, D. Zhu, H. Li, and S. Ma (2008) found a polynomial time algorithm that can find the minimum degree spanning tree of directed acyclic graphs.

References

Uses material from the Wikipedia article Minimum degree spanning tree, released under the CC BY-SA 4.0 license.