Knuth, Donald Ervin The Art Of Computer Programming: Generating All Trees--History Of Combinatorial Generation; Volume 4