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 1 ≤ k ≤ n, our data structure reports SA[i] in 𝒪̃(n/k) time and handles text modification in 𝒪̃(k) 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.
@InProceedings{amir_et_al:LIPIcs.ISAAC.2020.63, author = {Amir, Amihood and Boneh, Itai}, title = {{Update Query Time Trade-Off for Dynamic Suffix Arrays}}, booktitle = {31st International Symposium on Algorithms and Computation (ISAAC 2020)}, pages = {63:1--63:16}, series = {Leibniz International Proceedings in Informatics (LIPIcs)}, ISBN = {978-3-95977-173-3}, ISSN = {1868-8969}, year = {2020}, volume = {181}, editor = {Cao, Yixin and Cheng, Siu-Wing and Li, Minming}, publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik}, address = {Dagstuhl, Germany}, URL = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.ISAAC.2020.63}, URN = {urn:nbn:de:0030-drops-134070}, doi = {10.4230/LIPIcs.ISAAC.2020.63}, annote = {Keywords: String Algorithms, Dynamic Algorithms, Suffix Array, Inverse Suffix Array} }
Feedback for Dagstuhl Publishing