Algorithms on Strings, Trees, and Sequences: Introduction to Suffix Trees