Combinatorial Algorithms - Lecroq, Thierry; Mouchard, Laurent (Springer Berlin Heidelberg, 2013)