English

Dynamic Suffix Array with Sub-linear update time and Poly-logarithmic Lookup Time

Data Structures and Algorithms 2021-12-24 v1

Abstract

The Suffix Array SAS[1n]SA_S[1\ldots n] of an nn-length string SS is a lexicographically sorted array of the suffixes of SS. The suffix array is one of the most well known and widely used data structures in string algorithms. We present a data structure for maintaining a representation of the suffix array of a dynamic string which undergoes symbol substitutions, deletions, and insertions. For every string manipulation, our data structure can be updated in O(n23)O(n^{\frac{2}{3}}) time (ignoring multiplicative polylogarithmic factors) with nn being the current length of the string. For an input query i[1n]i\in [1\ldots n], our data structure reports SAS[i]SA_S[i] in O(log5(n))O(\log^5(n)) time. We also present a faster data structure, with O(n)O(\sqrt{n}) update time (ignoring multiplicative polylogarithmic factors), for maintaining the Inverted Suffix Array of a dynamic string undergoing symbol substitutions updates. For an input query i[1n]i\in [1\ldots n], our data structure reports the ii'th entry in the inverted suffix array in O(log4(n))O(\log^4(n)) time. Our data structures can be used to obtain sub-linear dynamic algorithms for several classical string problems for which efficient dynamic solutions were not previously known.

Keywords

Cite

@article{arxiv.2112.12678,
  title  = {Dynamic Suffix Array with Sub-linear update time and Poly-logarithmic Lookup Time},
  author = {Amihood Amir and Itai Boneh},
  journal= {arXiv preprint arXiv:2112.12678},
  year   = {2021}
}
R2 v1 2026-06-24T08:29:57.085Z