Linear-size Suffix Tries and Linear-size CDAWGs Simplified and Improved
Shunsuke Inenaga
TL;DR
This work introduces simplified, space-efficient suffix-indexing structures that remove most type-2 nodes from linear-size suffix tries and CDAWGs. The resulting simLSTrie and simLCDAWG maintain optimal pattern-matching times of $O(m\log\sigma+\mathsf{occ})$, while achieving $O(n)$ and $O(\mathsf{er}(T))$ space respectively, and remain compatible with the pointer-machine model. Key contributions include tight size bounds for the simplified structures, efficient edge-label extraction, and construction methods from either the CDAWG or the text, along with comparative analysis to prior approaches. The results have practical impact for repetitive text indexing by significantly reducing space while preserving query efficiency, and they open avenues for online and log-free construction techniques.
Abstract
The linear-size suffix tries (LSTries) [Crochemore et al., TCS 2016] are a version of suffix trees in which the edge labels are single characters, yet are able to perform pattern matching queries in optimal time. Instead of explicitly storing the input text, LSTries have some extra non-branching internal nodes called type-2 nodes. The extended techniques are then used in the linear-size compact directed acyclic word graphs (LCDAWGs) [Takagi et al., SPIRE 2017], which can be stored with $O(el(T)+er(T))$ space (i.e. without the text), where $el(T)$ and $er(T)$ are the numbers of left- and right-extensions of the maximal repeats in the input text string $T$, respectively. In this paper, we present simpler alternatives to the aforementioned indexing structures, called the simplified LSTries (simLSTries) and the simplified LCDAWGs (simLCDAWGs), in which most of the type-2 nodes are removed. In particular, our simLCDAWGs require only $O(er(T))$ space and work on a weaker model of computation (i.e. the pointer machine model). This contrasts the $O(er(T))$-space CDAWG representation of [Belazzougui and Cunial, SPIRE 2017], which works on the word RAM model.
