Analysis of algorithms for finding all spanning trees of a graph