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

12/23/2021
by   Amihood Amir, et al.
0

The Suffix Array SA_S[1… n] of an n-length string S is a lexicographically sorted array of the suffixes of S. 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(n^2/3) time (ignoring multiplicative polylogarithmic factors) with n being the current length of the string. For an input query i∈ [1… n], our data structure reports SA_S[i] in O(log^5(n)) time. We also present a faster data structure, with O(√(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∈ [1… n], our data structure reports the i'th entry in the inverted suffix array in 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.

READ FULL TEXT
research
07/13/2020

Update Query Time Trade-off for dynamic Suffix Arrays

The Suffix Array SA(S) of a string S[1 ... n] is an array containing all...
research
01/04/2022

Dynamic Suffix Array with Polylogarithmic Queries and Updates

The suffix array SA[1..n] of a text T of length n is a permutation of {1...
research
05/01/2022

Dynamic data structures for parameterized string problems

We revisit classic string problems considered in the area of parameteriz...
research
06/24/2019

Dynamic Palindrome Detection

Lately, there is a growing interest in dynamic string matching problems....
research
04/28/2019

Compact Fenwick trees for dynamic ranking and selection

The Fenwick tree is a classical implicit data structure that stores an a...
research
04/20/2020

Black-White Array: A New Data Structure for Dynamic Data Sets

A new array based data structure named black-white array (BWA) is introd...
research
09/02/2020

An Algorithm for Automatically Updating a Forsyth-Edwards Notation String Without an Array Board Representation

We present an algorithm that correctly updates the Forsyth-Edwards Notat...

Please sign up or login with your details

Forgot password? Click here to reset