Combinatorial Algorithms - Iliopoulos (Springer Berlin Heidelberg, 2011)