Online Computation of Palindromes and Suffix Trees on Tries
Hiroki Shibata, Mitsuru Funakoshi, Takuya Mieno, Masakazu Ishihata, Yuto Nakashima, Shunsuke Inenaga, Hideo Bannai, Masayuki Takeda
TL;DR
We address online computation of palindromes in a dynamic trie under leaf insertions and deletions. The work delivers sub-quadratic online algorithms for maximal palindromes and a suite of online algorithms for distinct palindromes based on two frameworks: EERTREE-on-forward-trie and suffix-tree-on-backward-trie, with efficient online constructions of the suffix tree and EERTREE as by-products. Key results include an online maximal-palindrome algorithm running in $O\bigl(N \min(\log h, \sigma)\bigr)$ time and $O(N)$ space, and online distinct-palindrome algorithms with various time/space trade-offs leveraging predecessor structures, colored predecessors, and specialized links (quickLink/directLink). The suffix-tree-based approach enables online suffix-tree construction for a trie and yields an overall online distinct-palindrome computation bound of $O\bigl(N (\text{CP}_{\textincr}(N,\sigma) + \min(\log h, \sigma))\bigr)$, reinforcing the practical impact for dynamic string data structures. These results extend static, linear-time palindrome enumeration to fully online, dynamic-trie settings and open avenues for efficient real-time indexing in related structures.
Abstract
We consider the problems of computing maximal palindromes and distinct palindromes in a trie. A trie is a natural generalization of a string, which can be seen as a single-path tree. There is a linear-time offline algorithm to compute maximal palindromes and distinct palindromes in a given (static) trie whose edge-labels are drawn from a linearly-sortable alphabet [Mieno et al., ISAAC 2022]. In this paper, we tackle problems of palindrome enumeration on dynamic tries which support leaf additions and leaf deletions. We propose the first sub-quadratic algorithms to enumerate palindromes in a dynamic trie. For maximal palindromes, we propose an algorithm that runs in $O(N \min(\log h, σ))$ time and uses $O(N)$ space, where $N$ is the maximum number of edges in the trie, $σ$ is the size of the alphabet, and $h$ is the height of the trie. For distinct palindromes, we develop several online algorithms based on different algorithmic frameworks, including approaches using the EERTREE (a.k.a. palindromic tree) and the suffix tree of a trie. These algorithms support leaf insertions and deletions in the trie and achieve different time and space trade-offs. Furthermore, as a by-product, we present online algorithms to construct the suffix tree and the EERTREE of the input trie, which is of independent interest.
