Combinatorial algorithms. Theory and practice - Reingold, Edward M. (Prentice-Hall, 1977)