We present an algorithm for enumerating all spanning trees of a directed graph with V vertices, E edges and N spanning trees. The algorithm takes 0(log V) time per spanning tree; more precisely, it runs in 0(iVlog V+V2α(V, V)+VE) time 1. It first outputs a single spanning tree and then a list of edge swaps; each spanning tree can be generated from the first spanning tree by applying a prefix of this sequence of edge swaps. The total output size is O(N) as against the O(NV) size of all spanning trees put together. The previous best known algorithm for this problem [KR91] took 0(NV + V3) time, even for generating the edge swap sequence.
CITATION STYLE
Haiiharan, R., Kapoor, S., & Kumar, V. (1995). Faster enumeration of all spanning trees of a directed graph. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 955, pp. 428–439). Springer Verlag. https://doi.org/10.1007/3-540-60220-8_82
Mendeley helps you to discover research relevant for your work.