Proceedings of the sixth annual ACM-SIAM symposium on Discrete algorithms
Faster suffix tree construction with missing suffix links
STOC '00 Proceedings of the thirty-second annual ACM symposium on Theory of computing
Multidimensional matching and fast search in suffix trees
SODA '03 Proceedings of the fourteenth annual ACM-SIAM symposium on Discrete algorithms
Multi-Dimensional Substring Selectivity Estimation
VLDB '99 Proceedings of the 25th International Conference on Very Large Data Bases
Linear-Time Construction of Two-Dimensional Suffix Trees
ICAL '99 Proceedings of the 26th International Colloquium on Automata, Languages and Programming
Similarity in Two-Dimensional Strings
COCOON '98 Proceedings of the 4th Annual International Conference on Computing and Combinatorics
An Index for Two Dimensional String Matching Allowing Rotations
TCS '00 Proceedings of the International Conference IFIP on Theoretical Computer Science, Exploring New Frontiers of Theoretical Informatics
One-dimensional and multi-dimensional substring selectivity estimation
The VLDB Journal — The International Journal on Very Large Data Bases
DNA Sequence Compression Using the Burrows-Wheeler Transform
CSB '02 Proceedings of the IEEE Computer Society Conference on Bioinformatics
Generalizations of suffix arrays to multi-dimensional matrices
Theoretical Computer Science
Generalizations of suffix arrays to multi-dimensional matrices
Theoretical Computer Science
Random Structures & Algorithms
Sequential and indexed two-dimensional combinatorial template matching allowing rotations
Theoretical Computer Science
Improving on-line construction of two-dimensional suffix trees for square matrices
Information Processing Letters
On-Line Construction of Parameterized Suffix Trees
SPIRE '09 Proceedings of the 16th International Symposium on String Processing and Information Retrieval
A note on a tree-based 2D indexing
CIAA'10 Proceedings of the 15th international conference on Implementation and application of automata
O(n2 log n) time on-line construction of two-dimensional suffix trees
COCOON'05 Proceedings of the 11th annual international conference on Computing and Combinatorics
A simple construction of two-dimensional suffix trees in linear time
CPM'07 Proceedings of the 18th annual conference on Combinatorial Pattern Matching
Hi-index | 0.00 |
We describe a new data structure, the Lsuffix tree, which generalizes McCreight's suffix tree for a string [J. Assoc. Comput. Mach., 23 (1976), pp. 262--272] to a square matrix. All matrices have entries from a totally ordered alphabet $\Sigma$. Based on the Lsuffix tree, we give efficient algorithms for the static versions of the following dual problems that arise in low-level image processing and visual databases. Two-dimensional pattern retrieval. We have a library of texts $S=\{TEXT^1,\cdots, TEXT^r\}$, where $TEXT^i$ is an $n_i\times n_i$ matrix, $ 1 \leq i \leq r$. We may preprocess the library. Then, given an $m \times m$, $m \leq n_i$, $ 1 \leq i \leq r$, pattern matrix $PAT$, we want to find all occurrences of $PAT$ in $TEXT$, for all $TEXT \in S$. Let $t(S)=\Sigma_{i=1}^r n_i^2$ be the size of the library. The preprocessing step builds the Lsuffix tree for the matrices in $S$ and then transforms it into an index (a trie defined over $\Sigma$). It takes $O(t(S)( \log |\Sigma| +\log t(S)))$ time and $O(t(S))$ space. The index can be queried directly in $O(m^2\log |\Sigma|+totocc)$ time, where $totocc$ is the total number of occurrences of $PAT$ in $TEXT$, for all $TEXT \in S$. Two-dimensional dictionary matching. We have a dictionary of patterns $DC=\{PAT_1, \cdots, PAT_s\}$, where $PAT_i$ is of dimension $m_i\times m_i$, $ 1 \leq i \leq s$. We may preprocess the dictionary. Then, given an $n \times n$ text matrix $TEXT$, we want to search for all occurrences of patterns in the dictionary in the text. Let $t(DC)=\Sigma_{i=1}^s m^2_i$ be the size of the dictionary and let $\overline{t}(DC)$ be the sum of the $m_i$'s. The preprocessing consists of building the Lsuffix tree for the matrices in $DC$. It takes $O(t(DC)\log |\Sigma| +\overline{t}(DC)\log \overline{t}(DC)))$ time and $O(t(DC))$ space. The search step takes $O(n^2(\log |\Sigma|+\log \overline{t}(DC))+totocc)$ time, where $totocc$ is the total number of occurrences of patterns in the text. Both problems have a dynamic version in which the library and the dictionary, respectively, can be updated by insertion or deletion of square matrices in them. In a companion paper, we will provide algorithms for the dynamic version.