Combinatorial algorithms: theory and practice - Reingold, Edward M; Nievergelt, Jurg; Deo, Narsingh (Prentice-Hall, 1977)