Skip to main content
Log in

A Flexible Algorithm for Generating All the Spanning Trees in Undirected Graphs

  • Published:
Algorithmica Aims and scope Submit manuscript

Abstract.

In this paper we propose an algorithm for generating all the spanning trees in undirected graphs. The algorithm requires O (n+m+ τ n) time where the given graph has n vertices, m edges, and τ spanning trees. For outputting all the spanning trees explicitly, this time complexity is optimal.

Our algorithm follows a special rooted tree structure on the skeleton graph of the spanning tree polytope. The rule by which the rooted tree structure is traversed is irrelevant to the time complexity. In this sense, our algorithm is flexible.

If we employ the depth-first search rule, we can save the memory requirement to O (n+m). A breadth-first implementation requires as much as O (m+ τ n) space, but when a parallel computer is available, this might have an advantage. When a given graph is weighted, the best-first search rule provides a ranking algorithm for the minimum spanning tree problem. The ranking algorithm requires O (n+ m + τ n) time and O (m+ τ n) space when we have a minimum spanning tree.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

Author information

Authors and Affiliations

Authors

Additional information

Received January 21, 1995; revised February 19, 1996.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Matsui, T. A Flexible Algorithm for Generating All the Spanning Trees in Undirected Graphs. Algorithmica 18, 530–543 (1997). https://doi.org/10.1007/PL00009171

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/PL00009171

Navigation