We describe fast parallel algorithms for building index data structures that can be used to gather various statistics on square matrices. The main data structure is the Lsuffix tree, which is a generalization of the classical suffix tree for strings. Given ann×ntext matrixA, we build our data structures inO(logn) time withn2processors on a CRCW PRAM, so that we can quickly processAin parallel as follows: (i) report some statistical information aboutA, e.g., find the largest repeated square submatrices that appear at least twice inAor determine, for each position inA, the smallest submatrix that occurs only there; (ii) given, on-line, anm×mpattern matrixPAT, check whether it occurs inA. We refer to the above two kinds of operations as queries and point out that they have applications to visual databases and two-dimensional data compression. Query (i) takesO(logn) time withn2/lognprocessors and query (ii) takesO(logm) time withm2/logmprocessors. The query algorithms are work optimal while the construction algorithm is work optimal only for arbitrary and large alphabets. © 1999 Academic Press.
CITATION STYLE
Giancarlo, R., & Grossi, R. (1999). Parallel construction and query of index data structures for pattern matching on square Matrices. Journal of Complexity, 15(1), 30–71. https://doi.org/10.1006/jcom.1998.0496
Mendeley helps you to discover research relevant for your work.