English

Update Query Time Trade-off for dynamic Suffix Arrays

Data Structures and Algorithms 2020-07-15 v1

Abstract

The Suffix Array SA(S) of a string S[1 ... n] is an array containing all the suffixes of S sorted by lexicographic order. The suffix array is one of the most well known indexing data structures, and it functions as a key tool in many string algorithms. In this paper, we present a data structure for maintaining the Suffix Array of a dynamic string. For every 0ε10 \leq \varepsilon \leq 1, our data structure reports SA[i] in O~(nε)\tilde{O}(n^{\varepsilon}) time and handles text modification in O~(n1ε)\tilde{O}(n^{1-\varepsilon}) time. Additionally, our data structure enables the same query time for reporting iSA[i], with iSA being the Inverse Suffix Array of S[1 ... n]. Our data structure can be used to construct sub-linear dynamic variants of static strings algorithms or data structures that are based on the Suffix Array and the Inverse Suffix Array.

Keywords

Cite

@article{arxiv.2007.06604,
  title  = {Update Query Time Trade-off for dynamic Suffix Arrays},
  author = {Amihood Amir and Itai Boneh},
  journal= {arXiv preprint arXiv:2007.06604},
  year   = {2020}
}

Comments

19 pages, 3 figures

R2 v1 2026-06-23T17:05:17.329Z