Review of: Algorithms on Strings by Maxime Crochemore, Christophe Hancart and Thierry Lecroq

The title says it all: this is an algorithmic-centric book concerned with sequences of symbols. Pattern matching over sequences is a central point, with many variations and with different data-structures, although not the only one. The authors are very well known in the field of stringology and have published several other related books. This book is an updated translation from the original (2001) French “Algorithmique du texte”5, and – for the metric-lovers – both versions have an accumulative citation count of ≈ 340 (Google Scholar). Thirteen years ago there was no definitive reference for strings algorithms, besides the still famous “Algorithms on Strings, Trees and Sequences” of Gusfield which, however, focused mostly on the suffix tree data-structure. The present book tackles an overlapping set of problems, but the algorithms rely mostly on automata and suffix arrays. All algorithms are given with many details together with a rigorous analysis of them, and the presentation of them is around problems. Different solutions to each problem are presented, relying on lemmas that are introduced as needed or on data-structures explained in their own chapters.