Table of Contents
Fetching ...

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.

Linear-size Suffix Tries and Linear-size CDAWGs Simplified and Improved

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 , while achieving and 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 space (i.e. without the text), where and are the numbers of left- and right-extensions of the maximal repeats in the input text string , 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 space and work on a weaker model of computation (i.e. the pointer machine model). This contrasts the -space CDAWG representation of [Belazzougui and Cunial, SPIRE 2017], which works on the word RAM model.
Paper Structure (20 sections, 16 theorems, 3 equations, 13 figures, 2 tables)

This paper contains 20 sections, 16 theorems, 3 equations, 13 figures, 2 tables.

Key Result

Lemma 1

For a string $T$ of length $n \geq 3$, the number $|\mathsf{V_{\mathsf{LSTrie}}}|$ of nodes in $\mathsf{LSTrie}(T)$ is at most $3n-3$ and the number $|\mathsf{E_{\mathsf{LSTrie}}}|$ of edges in $\mathsf{LSTrie}(T)$ is at most $3n-4$.

Figures (13)

  • Figure 1: The suffix tree (STree), linear-size suffix trie (LSTrie), and simplified linear-size suffix trie (simLSTrie) of string $T = \mathtt{abaabc\texttt{\$}}$. The white and black circles represent type-1 and type-2 nodes, respectively. The broken arcs represent suffix links.
  • Figure 2: The CDAWG, linear-size CDAWG (LCDAWG), and simplified linear-size CDAWG (simLCDAWG) of string $T = \mathtt{abaabc\texttt{\$}}$. The white and black circles represent type-1 and type-2 nodes, respectively. The broken arcs represent suffix links.
  • Figure 3: Matching pattern $P = \mathtt{baab}$ on $\mathsf{LSTrie}(T)$ with $T = \mathtt{abaabc\texttt{\$}}$. After traversing $\mathtt{baa}$ from the root, we encounter $+$. The following character $\underline{\mathtt{b}}$ is decoded by the fast link from the bold edge $(x, 2)$ to the red bold path $\langle s, 3 \rangle$.
  • Figure 4: Illustration for the fast link $\mathsf{flink}(u, v) = \langle u', v' \rangle$ on $\mathsf{LSTrie}(T)$ and the modified fast link $\mathsf{flink}'(u, v)$ on $\mathsf{simLSTrie}(T) = \langle u", v" \rangle$ for a $\mathsf{+}$-edge $(u, v)$, where $u" = \mathsf{slink}(u')$ and $v" = \mathsf{slink}(v')$.
  • Figure 5: Illustration showing false positives that may occur in a direct application of the top-down pattern matching algorithm with $\mathsf{LSTrie}(T)$ to $\mathsf{simLSTrie}(T)$. $P[i] = b \neq a$ is the first mismatch found on edge $(u, v)$ in the search for $P$ from the root $r$. The modified fast link $\mathsf{flink}'(u,v)$ points to the path $\langle u', v' \rangle$ and there can be a path spelling out $U$ from $u'$. However, such a false positive occurs iff the destination node $w$ of $SU$ is not an ancestor of $v'$.
  • ...and 8 more figures

Theorems & Definitions (34)

  • Lemma 1
  • proof
  • Example 1
  • Lemma 2: Theorem 2 of Crochemore2016
  • proof
  • Lemma 3: Theorem 2 of Crochemore2016
  • proof
  • Remark 1
  • Example 2
  • Lemma 4
  • ...and 24 more