Given a string S of n integers in [0,σ), a range minimum query RMQ(i, j) asks for the index of the smallest integer in S[i…j]. It is well known that the problem can be solved with a succinct data structure of size 2n + o(n) and constant query-time. In this paper we show how to preprocess S into a compressed representation that allows fast range minimum queries. This allows for sublinear size data structures with logarithmic query time. The most natural approach is to use string compression and construct a data structure for answering range minimum queries directly on the compressed string. We investigate this approach using grammar compression. We then consider an alternative approach. Even if S is not compressible, its Cartesian tree necessarily is. Therefore, instead of compressing S using string compression, we compress the Cartesian tree of S using tree compression. We show that this approach can be exponentially better than the former, and is never worse by more than an O(σ) factor (i.e. for constant alphabets it is never asymptotically worse).
|Title of host publication||String Processing and Information Retrieval - 25th International Symposium, SPIRE 2018, Proceedings|
|Editors||Travis Gagie, Alistair Moffat, Gonzalo Navarro, Ernesto Cuadros-Vargas|
|Number of pages||12|
|State||Published - 2018|
|Event||25th International Symposium on String Processing and Information Retrieval, SPIRE 2018 - Lima, Peru|
Duration: 9 Oct 2018 → 11 Oct 2018
|Name||Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)|
|Conference||25th International Symposium on String Processing and Information Retrieval, SPIRE 2018|
|Period||9/10/18 → 11/10/18|
Bibliographical noteFunding Information:
Supported in part by Israel Science Foundation grant 592/17.
© Springer Nature Switzerland AG 2018.
- Cartesian tree
- Grammar compression
- Tree compression
ASJC Scopus subject areas
- Theoretical Computer Science
- Computer Science (all)