Optimal Parallel Suffix Tree Construction

Ramesh Hariharan
1997 Journal of computer and system sciences (Print)  
An O(m)-work, O(m)-space, O(log 4 m)-time CREW-PRAM algorithm for constructing the suffix tree of a string s of length m drawn from any fixed alphabet set is obtained. This is the first known work and space optimal parallel algorithm for this problem. It can be generalized to a string s drawn from any general alphabet set to perform in O(log 4 m) time and O(m log |7| ) work and space, after the characters in s have been sorted alphabetically, where |7| is the number of distinct characters in s.
more » ... In this case too, the algorithm is work-optimal. ] 1997 Academic Press An application. As an application, we obtain the first optimal work algorithm for multipattern matching, i.e., matching a set of patterns of collective size M against a text of size N, where the patterns and text are drawn over some fixed alphabet set. This algorithm takes O(log 4 M l ) time, O(M+N) work, and O(M+N) space in the CREW-PRAM model, where M l is the length of the longest pattern. Previously, the algorithm with the smallest work bound was due to Muthukrishnan and Palem [MP93]; this algorithm took O(log M l ) time, O(Nlog M l +M) work, and O(M 1+= +N) space in the arbitrary CRCW-PRAM model.
doi:10.1006/jcss.1997.1496 fatcat:qxlqdwooqbcsnnxwx774zhd6kq