Complexity of computation of a spanning tree enumeration algorithm
In 1968, Char [4] presented an algorithm to enumerate all the spanning trees of an undirected graph G . This algorithm starts with a known initial spanning tree of G , and generates all the other spanning trees along with certain spanning non-tree subgraphs of G . In this paper a detailed complexity analysis of Char's algorithm and methods to speed up the algorithm are discussed. Two heuristics for the selection of the initial spanning tree are suggested. These heuristics result in a considerable reduction in the number of spanning non-tree subgraphs generated. A technique called path compression, aimed at reducing the actual number of comparisons, is described. Computational results on several randomly generated graphs are presented to illustrate the improvement achieved.