Suffix trees and their applications in string algorithms