Enumerating All Directed Spanning Trees in Optimal Time
Pawe{\l} Gawrychowski, Marcin Knapik

TL;DR
This paper presents an optimal algorithm for enumerating all directed spanning trees in a graph in linear time relative to the size of the graph and the number of trees, matching the efficiency known for undirected graphs.
Contribution
The authors develop a novel graph-theoretical approach that enables enumeration of all directed spanning trees in optimal linear time, improving previous algorithms.
Findings
Achieved $ ext{O}(n+m+N)$ time complexity for enumeration
Designed a characterization of graphs with few directed spanning trees
Matched the efficiency of undirected spanning tree enumeration algorithms
Abstract
We consider the problem of enumerating, for a given directed graph and a node , all directed spanning trees of rooted at . For undirected graphs, the corresponding problem of enumerating all spanning trees has received considerable attention, culminating in the algorithm of Kapoor and Ramesh [SICOMP 1995] working in time, where denote the number of spanning trees, vertices, and edges of , respectively. In the area of enumeration algorithms, this is known as Constant Amortised Time, or CAT. To achieve only constant time per each spanning tree, the algorithm outputs the relative change between the subsequent spanning trees instead of the whole spanning trees themselves. The natural generalization to enumerating all directed spanning trees has been already considered by Gabow and Myers [SICOMP 1978], who provided an…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced Graph Theory Research · Complexity and Algorithms in Graphs · Markov Chains and Monte Carlo Methods
