Efficient String Algorithms With Applications In Bioinformatics