Collapsing the Hierarchy of Compressed Data Structures: Suffix Arrays in Optimal Compressed Space

被引:5
|
作者
Kempa, Dominik [1 ]
Kociumaka, Tomasz [2 ]
机构
[1] SUNY Stony Brook, Dept Comp Sci, Stony Brook, NY 11794 USA
[2] Max Planck Inst Informat, Saarland Informat Campus, Saarbrucken, Germany
关键词
data compression; text indexing; compressed indexing; suffix array;
D O I
10.1109/FOCS57990.2023.00114
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
The last two decades have witnessed a dramatic increase in the amount of highly repetitive datasets consisting of sequential data (strings, texts). Processing these massive amounts of data using conventional data structures is infeasible. This fueled the development of compressed text indexes, which efficiently answer various queries on a given text, typically in polylogarithmic time, while occupying space proportional to the compressed representation of the text. There exist numerous structures supporting queries ranging from simple "local" queries, such as random access, through more complex ones, including longest common extension (LCE) queries, to the most powerful queries, such as the suffix array (SA) functionality. Alongside the rich repertoire of queries followed a detailed study of the trade-off between the size and functionality of compressed indexes (see: Navarro; ACM Comput. Surv. 2021). It is widely accepted that this hierarchy of structures tells a simple story: the more powerful the queries, the more space is needed. On the one hand, random access, the most basic query, can be supported using O(delta log n log sigma/delta log n) space (where n is the length of the text, sigma is the alphabet size, and delta is the text's substring complexity), which is known to be the asymptotically smallest space sufficient to represent any string with parameters n, sigma, and delta (Kociumaka, Navarro, and Prezza; IEEE Trans. Inf. Theory 2023). The other end of the hierarchy is occupied by indexes supporting the suffix array queries. The currently smallest one takes O(r log n/r) space, where r >= delta is the number of runs in the Burrows-Wheeler Transform of the text (Gagie, Navarro, and Prezza; J. ACM 2020). We present a new compressed index, referred to as delta-SA, that supports the powerful SA functionality and needs only O(delta log n log sigma/delta log n) space. This collapses the hierarchy of compressed data structures into a single point: The space required to represent the text is simultaneously sufficient to efficiently support the full SA functionality. Since suffix array queries are the most widely utilized queries in string processing and data compression, our result immediately improves the space complexity of dozens of algorithms, which can now be executed in delta-optimal compressed space. The delta-SA supports both suffix array and inverse suffix array queries in O(log(4+epsilon) n) time (where epsilon > 0 is any predefined constant). Our second main result is an O(delta polylog n)-time construction of the delta-SA from the Lempel-Ziv (LZ77) parsing of the text. This is the first algorithm that builds an SA index in compressed time, i.e., time nearly linear in the compressed input size. For highly repetitive texts, this is up to exponentially faster than the previously best algorithm, which builds an O(r log n/r)-size index in O(root delta n poly log n) time. To obtain our results, we develop numerous new techniques of independent interest. This includes deterministic restricted recompression, delta-compressed string synchronizing sets, and their construction in compressed time. We also improve many other auxiliary data structures; e.g., we show the first O(delta log n log sigma/delta log n)size index for LCE queries along with its efficient construction from the LZ77 parsing.
引用
收藏
页码:1877 / 1886
页数:10
相关论文
共 50 条
  • [21] Succinct representations of lcp information and improvements in the compressed suffix arrays
    Sadakane, K
    PROCEEDINGS OF THE THIRTEENTH ANNUAL ACM-SIAM SYMPOSIUM ON DISCRETE ALGORITHMS, 2002, : 225 - 232
  • [22] Space-efficient construction of compressed suffix trees
    Prezza, Nicola
    Rosone, Giovanna
    THEORETICAL COMPUTER SCIENCE, 2021, 852 : 138 - 156
  • [23] Broadword Computing and Fibonacci Code Speed Up Compressed Suffix Arrays
    Gog, Simon
    EXPERIMENTAL ALGORITHMS, PROCEEDINGS, 2009, 5526 : 161 - 172
  • [24] A Practical Implementation of Compressed Suffix Arrays with Applications to Self-Indexing
    Huo, Hongwei
    Chen, Longgang
    Vitter, Jeffrey Scott
    Nekrich, Yakov
    2014 DATA COMPRESSION CONFERENCE (DCC 2014), 2014, : 292 - 301
  • [25] Using Compressed Suffix-Arrays for a compact representation of temporal-graphs
    Brisaboa, Nieves R.
    Caro, Diego
    Farina, Antonio
    Andrea Rodriguez, M.
    INFORMATION SCIENCES, 2018, 465 : 459 - 483
  • [26] A new compressed suffix tree supporting fast search and its construction algorithm using optimal working space
    Kim, DK
    Park, H
    COMBINATORIAL PATTERN MATCHING, PROCEEDINGS, 2005, 3537 : 33 - 44
  • [27] Advantages of backward searching - Efficient secondary memory and distributed implementation of compressed suffix arrays
    Mäkinen, Veli
    Navarro, Gonzalo
    Sadakane, Kunihiko
    Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 2004, 3341 : 681 - 692
  • [28] Compressed Data Structures for Dynamic Sequences
    Munro, J. Ian
    Nekrich, Yakov
    ALGORITHMS - ESA 2015, 2015, 9294 : 891 - 902
  • [29] Advantages of backward searching -: Efficient secondary memory and distributed implementation of Compressed Suffix Arrays
    Mäkinen, V
    Navarro, G
    Sadakane, K
    ALGORITHMS AND COMPUTATION, 2004, 3341 : 681 - 692
  • [30] Optimal Design of Laminated Compressed Structures with Delaminations
    Muc, A.
    Skladanowska, K.
    2017 7TH INTERNATIONAL CONFERENCE ON MODELING, SIMULATION, AND APPLIED OPTIMIZATION (ICMSAO), 2017,