skip to main content
10.1109/FOCS.2012.79guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

On-Line Indexing for General Alphabets via Predecessor Queries on Subsets of an Ordered List

Published: 20 October 2012 Publication History

Abstract

The problem of \textit{Text Indexing} is a fundamental algorithmic problem in which one wishes to preprocess a text in order to quickly locate pattern queries within the text. In the ever evolving world of dynamic and on-line data, there is also a need for developing solutions to index texts which arrive on-line, i.e.~a character at a time, and still be able to quickly locate said patterns. In this paper, a new solution for on-line indexing is presented by providing an on-line suffix tree construction in $O(\log \log n + \log\log |\Sigma|)$ worst-case expected time per character, where $n$ is the size of the string, and $\Sigma$ is the alphabet. This improves upon all previously known on-line suffix tree constructions for general alphabets, at the cost of having the run time in expectation. The main idea is to reduce the problem of constructing a suffix tree on-line to an interesting variant of the order maintenance problem, which may be of independent interest. In the famous order maintenance problem, one wishes to maintain a dynamic list $L$ of size $n$ under insertions, deletions, and order queries. In an order query, one is given two nodes from $L$ and must determine which node precedes the other in $L$. In an extension to this problem, named the {\em Predecessor search on Dynamic Subsets of an Ordered Dynamic List problem} (POLP for short), it is also necessary to maintain dynamic subsets $S_1, \cdots, S_k\subseteq L$, such that given some $u\in L$ it will be possible to quickly locate the predecessor of $u$ in $S_i$, for any integer $1\leq i \leq k$. This paper provides an efficient data structure capable of locating the predecessor of $u$ in $S_i$ in $O(\log \log n)$ worst-case time and answering order queries on $L$ in $O(1)$ worst-case time, while allowing updates to $L$ in $O(1)$ worst-case expected time and updates to the subsets in $O(\log \log n)$ worst-case expected time. This improves over a previous data structure which may be implicitly obtained from Dietz~\cite{Dietz89}, in which the updates to the sets and $L$ are done in $O(\log \log n)$ \textit{amortized} expected time. In addition, the bounds shown here match the currently best known bounds for predecessor search in the RAM model. Furthermore, this paper improves or simplifies bounds for several additional applications, including fully-persistent arrays, the monotonic list labeling problem, and the Order-Maintenance Problem.

Cited By

View all
  1. On-Line Indexing for General Alphabets via Predecessor Queries on Subsets of an Ordered List

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image Guide Proceedings
    FOCS '12: Proceedings of the 2012 IEEE 53rd Annual Symposium on Foundations of Computer Science
    October 2012
    770 pages
    ISBN:9780769548746

    Publisher

    IEEE Computer Society

    United States

    Publication History

    Published: 20 October 2012

    Author Tags

    1. data structures
    2. order-maintenance
    3. pattern matching
    4. predecessor
    5. suffix tree

    Qualifiers

    • Article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)0
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 30 Jan 2025

    Other Metrics

    Citations

    Cited By

    View all

    View Options

    View options

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media