P75: Enumeration of all spanning tree in a directed graph

P75: Enumeration of all spanning tree in a directed graph
Input:
A directed graph $G = (V, E)$.
Output:
All spanning tree of $G$.
Complexity:
$O(N|V|+|V|^3)$ total time and $O(|V|^2)$ space.
Comment:
$N$ is the number of spanning trees in $G$.
Reference:
[Kapoor1991] (Bibtex)