SIAM Journal on Computing · 1978 · 191 citations · 9 references
ComputingComputer ScienceAlgorithmsComputational GeometryEdge ComputingGraph AlgorithmsGraph MiningGraph TheoryConnectivity AlgorithmsDepth-first SearchGraph Traversal AlgorithmsSpanning Tree ConstructionTree Algorithms
An algorithm for finding all spanning trees (arborescences) of a directed graph is presented. It uses backtracking and a method for detecting bridges based on depth-first search. The time required is $O(V + E + EN)$ and the space is $O(V + E)$, where V, E, and N represent the number of vertices, edges, and spanning trees, respectively. If the graph is undirected, the time decreases to $O(V + E + VN)$, which is optimal to within a constant factor. The previously best-known algorithm for undirected graphs requires time $O(V + E + EN)$.
9
Depth-First Search and Linear Graph Algorithms
Robert E. Tarjan · SIAM Journal on Computing · 1972 · 6K citations
Generation of Trees without Duplications
W. Mayeda, S. Seshu · IEEE Transactions on Circuit Theory · 1965 · 89 citations