Algorithms on strings - Crochemore, Maxime (Cambridge University Press, 2001)