18 research outputs found
Substring Range Reporting
We revisit various string indexing problems with range reporting features,
namely, position-restricted substring searching, indexing substrings with gaps,
and indexing substrings with intervals. We obtain the following main results.
{itemize} We give efficient reductions for each of the above problems to a new
problem, which we call \emph{substring range reporting}. Hence, we unify the
previous work by showing that we may restrict our attention to a single problem
rather than studying each of the above problems individually. We show how to
solve substring range reporting with optimal query time and little space.
Combined with our reductions this leads to significantly improved time-space
trade-offs for the above problems. In particular, for each problem we obtain
the first solutions with optimal time query and space,
where is the length of the indexed string. We show that our techniques for
substring range reporting generalize to \emph{substring range counting} and
\emph{substring range emptiness} variants. We also obtain non-trivial
time-space trade-offs for these problems. {itemize} Our bounds for substring
range reporting are based on a novel combination of suffix trees and range
reporting data structures. The reductions are simple and general and may apply
to other combinations of string indexing with range reporting
Fast Preprocessing for Optimal Orthogonal Range Reporting and Range Successor with Applications to Text Indexing
Under the word RAM model, we design three data structures that can be
constructed in time over points in an grid.
The first data structure is an -word structure supporting
orthogonal range reporting in time, where denotes output
size and is an arbitrarily small constant. The second is an
-word structure supporting orthogonal range successor in
time, while the third is an -word structure
supporting sorted range reporting in time. The query times of
these data structures are optimal when the space costs must be within $O(n\
polylog\ n)O(n\sqrt{\lg n})O(\lg^{\epsilon} n)O(n\sqrt{\lg n})$ time. Hence our work is the
first that achieve the same preprocessing time for optimal orthogonal range
reporting and range successor. We also apply our results to improve the
construction time of text indexes
Finding Patterns in Given Intervals
International audienc