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 条
  • [1] Compressed Suffix Arrays for Massive Data
    Siren, Jouni
    STRING PROCESSING AND INFORMATION RETRIEVAL, PROCEEDINGS, 2009, 5721 : 63 - 74
  • [2] A quick tour on suffix arrays and compressed suffix arrays
    Grossi, Roberto
    THEORETICAL COMPUTER SCIENCE, 2011, 412 (27) : 2964 - 2973
  • [3] Smaller Compressed Suffix Arrays
    Benza, Ekaterina
    Klein, Shmuel T.
    Shapira, Dana
    COMPUTER JOURNAL, 2021, 64 (05): : 721 - 730
  • [4] Compressed compact suffix arrays
    Mäkinen, V
    Navarro, G
    COMBINATORIAL PATTERN MATCHING, PROCEEDINGS, 2004, 3109 : 420 - 433
  • [5] Compressed Spaced Suffix Arrays
    Gagie T.
    Manzini G.
    Valenzuela D.
    Mathematics in Computer Science, 2017, 11 (2) : 151 - 157
  • [6] A Space and Time Efficient Algorithm for Constructing Compressed Suffix Arrays
    Wing-Kai Hon
    Tak-Wah Lam
    Kunihiko Sadakane
    Wing-Kin Sung
    Siu-Ming Yiu
    Algorithmica, 2007, 48 : 23 - 36
  • [7] A space and time efficient algorithm for constructing compressed suffix arrays
    Hon, Wing-Kai
    Lam, Tak-Wah
    Sadakane, Kunihiko
    Sung, Wing-Kin
    Yiu, Siu-Ming
    ALGORITHMICA, 2007, 48 (01) : 23 - 36
  • [8] Time-space trade-offs for compressed suffix arrays
    Rao, SS
    INFORMATION PROCESSING LETTERS, 2002, 82 (06) : 307 - 311
  • [9] Constructing compressed suffix arrays with large alphabets
    Hon, WK
    Lam, TW
    Sadakane, K
    Sung, WK
    ALGORITHMS AND COMPUTATION, PROCEEDINGS, 2003, 2906 : 240 - 249
  • [10] Smaller RLZ-Compressed Suffix Arrays
    Puglisi, Simon J.
    Zhukova, Bella
    2021 DATA COMPRESSION CONFERENCE (DCC 2021), 2021, : 213 - 222