Engineering rank/select data structures for large-alphabet strings
Abstract Large-alphabet strings, prevalent in information retrieval and natural language processing, pose unique storage and processing challenges. This paper explores the efficient implementation of the alphabet-partition approach, introducing a compressed data structure that efficiently supports the operations ${\mathsf{rank}}$ and ${\mathsf{select}}$. Our implementation significantly outperforms existing methods, improving the ${\mathsf{select}}$ operation speed by 80% with only 11% additional space. We demonstrate the utility of our structure in various applications, including inverted list intersections, run-length compressed strings, and distributed computation of ${\mathsf{rank}}$ and ${\mathsf{select}}$. Notably, for run-length compressed strings using the Burrows–Wheeler transform, our data structure requires only 0.98–1.09 times the space of state-of-the-art RLFM-indexes to achieve 1.23–2.33 times faster pattern occurrence counting while also providing better theoretical guarantees.
Authors
- Erick Sepúlveda (ORCID: https://orcid.org/0009-0004-9918-9540)
- Diego Arroyuelo (ORCID: https://orcid.org/0000-0002-2509-8097)
- Francisco Riveros
- Héctor Larrañaga
- Gabriel Carmona (ORCID: https://orcid.org/0009-0004-1454-2940)
- Carlos Eugenio Rojas-Morales (ORCID: https://orcid.org/0009-0008-3491-5053)
Institutions
- University of Pisa (IT)
- Istituto Nazionale di Fisica Nucleare, Sezione di Pisa (IT)
- Millennium Institute on Immunology and Immunotherapy (CL)
- Federico Santa María Technical University (CL)
Publication Details
- Journal
- The Computer Journal
- Published
- 2025-08-04
- DOI
- https://doi.org/10.1093/comjnl/bxaf102
- Primary Topic
- Algorithms and Data Compression
- Type
- article
- Field-Weighted Citation Impact
- 0.00