5,655 research outputs found
Internal Pattern Matching Queries in a Text and Applications
We consider several types of internal queries: questions about subwords of a
text. As the main tool we develop an optimal data structure for the problem
called here internal pattern matching. This data structure provides
constant-time answers to queries about occurrences of one subword in
another subword of a given text, assuming that ,
which allows for a constant-space representation of all occurrences. This
problem can be viewed as a natural extension of the well-studied pattern
matching problem. The data structure has linear size and admits a linear-time
construction algorithm.
Using the solution to the internal pattern matching problem, we obtain very
efficient data structures answering queries about: primitivity of subwords,
periods of subwords, general substring compression, and cyclic equivalence of
two subwords. All these results improve upon the best previously known
counterparts. The linear construction time of our data structure also allows to
improve the algorithm for finding -subrepetitions in a text (a more
general version of maximal repetitions, also called runs). For any fixed
we obtain the first linear-time algorithm, which matches the linear
time complexity of the algorithm computing runs. Our data structure has already
been used as a part of the efficient solutions for subword suffix rank &
selection, as well as substring compression using Burrows-Wheeler transform
composed with run-length encoding.Comment: 31 pages, 9 figures; accepted to SODA 201
Pattern avoidance in binary trees
This paper considers the enumeration of trees avoiding a contiguous pattern.
We provide an algorithm for computing the generating function that counts
n-leaf binary trees avoiding a given binary tree pattern t. Equipped with this
counting mechanism, we study the analogue of Wilf equivalence in which two tree
patterns are equivalent if the respective n-leaf trees that avoid them are
equinumerous. We investigate the equivalence classes combinatorially. Toward
establishing bijective proofs of tree pattern equivalence, we develop a general
method of restructuring trees that conjecturally succeeds to produce an
explicit bijection for each pair of equivalent tree patterns.Comment: 19 pages, many images; published versio
- …