Encoding Data Structures for Range Queries on Arrays
Abstract
Efficiently processing range queries on arrays is a fundamental problem in computer science, with applications spanning diverse domains such as database management, computational biology, and geographic information systems. A range query retrieves information about a specific segment of an array, such as the sum, minimum, maximum, or median of elements within a given range. The challenge lies in designing data structures that allow such queries to be answered quickly, often in constant or logarithmic time, while keeping space overhead (and preprocessing time) small. Encoding data structures for range queries has emerged as a pivotal area of research due to the increasing demand for high-performance systems handling massive datasets. These structures consider the data together with the queries and aim to store only as much information about the data as is needed to answer the queries. The data structure does not need to access the original data to answer the queries. Encoding-based solutions often leverage techniques from succinct data structures, bit manipulation, and combinatorial optimization to achieve both space and time efficiency. By encoding the array in a manner that preserves critical information, these methods strike a balance between query time and space usage. In this survey article, we explore the landscape of encoding data structures for range queries on arrays, providing a comprehensive overview of some important results on space-efficient encodings for various types of range query.
Keywords and phrases:
range queries, RMQ, Cartesian tree, top-k queries, range median, range modeCategory:
ResearchCopyright and License:
2012 ACM Subject Classification:
Theory of computation Data structures design and analysisEditors:
Alessio Conte, Andrea Marino, Giovanna Rosone, and Jeffrey Scott VitterSeries and Publisher:
Open Access Series in Informatics, Schloss Dagstuhl – Leibniz-Zentrum für Informatik
1 Introduction
Efficiently processing range queries on arrays is a fundamental problem in computer science, with applications spanning diverse domains such as database management, computational biology, geographic information systems, and data analytics. A range query retrieves specific information about a contiguous segment of an array, such as the sum, minimum, maximum, or median of elements within a given range. Designing data structures to process such queries efficiently is critical, especially as datasets grow in size and complexity. The challenge lies in enabling fast query responses – often aiming for constant or logarithmic time – while minimizing the space overhead and preprocessing time required by the data structures.
Encoding data structures for range queries have emerged as a crucial area of research to address these challenges. Unlike traditional approaches that rely on augmenting the array with auxiliary structures or preprocessing, encoding-based methods focus on storing a compact representation of the data tailored specifically to the types of queries to be answered. These structures are designed to store only the information necessary for query resolution, eliminating the need to access the original array during query processing. The encoding data structures typically combine techniques from succinct/compressed data structures, combinatorial optimization and algorithmic design.
This survey aims to provide a comprehensive and structured overview of the key developments in the field of encoding data structures for range queries on arrays. We categorize the encoding solutions based on the specific types of range queries they support, such as range minimum/maximum queries, range top- queries, range mode queries, and range majority/minority queries. The survey article by Skala [51] from 2013 gives a detailed summary of various results for “range queries on arrays”. Thus we mainly focus on the new results since 2013, briefly summarizing the previous results.
Data structures can be classified into two categories: indexing and encoding data structures. For an indexing data structure, we preprocess the data and build an index so that subsequent queries can be answered efficiently by probing the index and the input data. On the other hand, for an encoding data structure, we preprocess the input data and build an encoding of the input so that subsequent queries can be answered by probing only the encoding (i.e., with no access to the input at query time). In this survey, we mainly focus on the results on encoding data structures, but occasionally mention a few results on indexing data structures for comparison. For many problems, the size of an encoding can be smaller than the size of the input, which is in fact the case for many range queries that we consider.
For example, given a query range, a range minimum query returns the minimum element within the query range. Range median, range mode, range selection and top-, range mode and majority/minority queries are defined analogously. With this definition of range queries, one can reconstruct the input array by asking point queries with range that contains a single element, and hence the size of an encoding is at least the size of the input, and storing the input explicitly gives an optimal space encoding. To avoid this, we define the range queries as follows. For a query range, the range minimum query returns a position of the minimum element within the query range (and analogously for other range queries), instead of the value at the position. With this definition, one can obtain an encoding of size linear in bits for range minimum queries, which is asymptotically less than the space required to store the input array in the word RAM model.
In this article, we consider the encoding data structures for a 1D array , and a 2D array , where . We assume that the array indices start from 1. For 2D arrays, we use the term range to mean an rectangular range which is defined as a Cartesian product of a given set of intervals in each dimension. We assume a word RAM model with word-size bits. For the encoding structures where we do not mention the query times, queries can be supported in polynomial time by essentially decoding the entire structure.
2 Range minimum queries
Given an input array and a query range, a range minimum query (RMQ) returns the position of the minimum element within the query range. From its wide applications (e.g., constructing an indexing structure on a string [15]), designing a data structure to answer RMQ has intensive attention from the community. For the 1D case, any encoding for RMQ requires at least bits due to its bijective relationship with the Cartesian tree of the input [53]. The best-known result for a worst-case input is the -bit data structure by Fisher and Heun that supports query time111considering the -term, the current best result is Navarro and Sadakane’s -bit data structure that supports queries in time [45].. For earlier results, see [51].
When the input is highly compressible, there are some results whose space usages are parameterized based on the compressed size of the input while still supporting efficient query time. Here, compressibility is considered in two ways: (1) The compressibility of the input [18, 49, 2, 21], and (2) the compressibility of the Cartesian tree of the input [21, 43]. Note that data structures in (1) can access the input, as they maintain the input array in a compressed form. In contrast, the results in (2) cannot access to the input as they maintain the compressed Cartesian tree with some auxiliary structures for the query support.
There also has been progress on space-query time trade-off lower bounds for the problem under the cell-probe model, which measures query time by counting the number of memory cell accesses only. Liu and Yu showed that any data structure answering RMQ in time requires at least bits of space [42]. Later, Liu improved the space lower bound to bits [41].
2.1 Range minimum and maximum queries
To address range minimum and maximum queries on 1D array simultaneously, a straightforward approach is to use separate data structures for each query. Since any data structure designed for range minimum queries can be easily adapted for range maximum queries, the data structure of Fischer and Heun [17] provide a -bit data structure that can answer both queries in time. Gawrychowski and Nicolson [26] showed that if an array contains no consecutive equal values, there exists a data structure that uses bits and supports both queries in time. Furthermore, they proved that any encoding data structure for answering both queries requires at least bits, as any Baxter permutation can be fully reconstructed using only range minimum and maximum queries.
When the input array contains consecutive equal values, a straightforward solution is to use two separate data structures proposed by Fischer [14] for range minimum and maximum queries. This approach uses bits of space and supports both queries in time. Additionally, for any given , the data structure also can answer the position of the -th leftmost minimum or maximum value within a query range in time [35]. Jo and Satti [35] improved the space usage of the data structure to bits while maintaining the same query time. Subsequently, Tsur [52] further reduced the space to bits with time for queries. Recently, Jo and Kim [33] proposed a data structure that uses bits while supporting all queries in time for any positive integer (here denotes logarithm iterated times for any constant ). They also showed that any data structure for answering these queries requires at least bits when the input contains consecutive equal values.
2.2 Range minimum queries on non-permutation input
Consider a 1D array with duplicate entries. In this case, some ranges may have multiple answers for RMQ. The data structures discussed in Skala’s survey [51] return either the leftmost or rightmost position among the possible answers. Motivated by the efficient construction of compressed suffix trees [50], Fischer and Heun [16] considered the problem of finding the position of an approximated median among all positions of minimums within a given range. Specifically, for any constant , they proposed a -bit data structure that can answer the position of the -th leftmost minimum in time, where . The data structure uses a super Cartesian tree, a Cartesian tree in which each edge is colored either red or blue.
2.3 Range minimum queries on 2D array
When the input is an 2D array with , Demaine et al. [11] showed that there is no Cartesian tree-like structure for the 2D case. Specifically, no structure exists that fully encodes the answer to all queries and can be constructed in linear time. They further showed that when , any encoding data structure for answering RMQ queries requires bits. Since the input array can be stored using bits, this implies that any encoding data structure uses asymptotically the same space as indexing data structures [54, 5, 1] when . In this survey, we focus on the case where .
Brodal et al. [5] proposed an -bit data structure with query time. The -bit data structure is achieved by maintaining 1D RMQ structures to support queries over the range for all along with the 1D RMQ structures on the columns. Additionally, they proved that any encoding for answering RMQ requires at least bits. When is or , Golin et al. [29] improved the encoding space of the result in [5] (see Table 1) by introducing the joint Cartesian tree of the input. This structure is used to compare two minimum elements in ranges where the row ranges are and , respectively. Furthermore, when , they proposed a data structure that answers queries in time using bits of space, for any .
| Input | Space (in bits) | ref |
|---|---|---|
| [5] | ||
| [29] | ||
| [5] | ||
| [29] |
Also for the 2D array case with and , the query range can be restricted as follows: (1) -sided: , (2) -sided: , (3) 3-sided: for , and (4) 4-sided: any rectangular range. Golin et al.[29] provided upper bounds and matching lower bounds for the encoding space required to answer RMQ under these four restricted query cases (see Table 2). Here the encoding space is expressed as an expected value, assuming that the input is arranged in row- or column-major order, uniformly chosen from all permutations of size .
| -sided | -sided | -sided | -sided |
|---|---|---|---|
For general and query ranges, Brodal et al. [6] proposed an -bit encoding for answering RMQ. Based on the their lower bound result of [6], this encoding is asymptotically optimal.
For , the problem of designing a -bit data structure for a 2D array that answers queries in sublinear time remains an open problem.
| Input | Space (in bits) | Query time | ref |
|---|---|---|---|
| Monge | [37] | ||
| [22] | |||
| [23] | |||
| Partial Monge | [37] | ||
| [22] | |||
| [23] |
RMQ on (partial) Monge Matrices.
A 2D matrix (array) is called Monge if for any and (it is more common to define a Monge matrix with rather than . In this case, a matrix defined with is referred to as an inverse Monge matrix. All the results presented in this survey can be easily adapted for inverse Monge matrices [38]). Solving RMQ on Monge matrices is of interest due to their various applications in combinatorial optimization and computational geometry [38]. Due to the property of Monge matrices, it is possible to design encoding data structures for RMQ that are more space-efficient than those for general 2D arrays. The first non-trivial result was proposed by Kaplan et al. [37] (the journal version of the paper published in 2017 [38]). They showed that for an Monge matrix, there exists an -bit data structure that can answer RMQ in time.
The result was later improved by Gawrychowski et al. [22] who proposed a data structure using bits while supporting the query in time. Furthermore, they showed that with bits of space for any , the query can be answered in time. This was further improved in a subsequent work by Gawrychowski et al. [23], where they presented a data structure using bits of space while supporting query time. Additionally, they provided a lower bound of the data structure by showing that any data structure of size bits requires time to answer RMQ on an Monge matrix. This lower bound was derived by reducing the predecessor problem to RMQ, implying that their data structure is asymptotically optimal (the journal version of the results in [22] and [23] was published in 2020 [24]).
Monge matrices can be generalized to partial Monge matrices, which are Monge matrices with some undefined entries, and the defined entries in each row and column form a contiguous interval. Solving RMQ on partial Monge matrices has applications in areas such as algorithms for maximum flow in planar graphs [38]. In [37], as well as in subsequent works [22] and [23], data structures for partial Monge matrices were proposed by extending those designed for Monge matrices. A summary of these results is presented in Table 3.
3 Range top- queries
Range selection and range top- queries are natural extensions of the RMQ, defined as follows: Given a positive integer and a query range, a range selection query (denoted as sel-) returns the position of the -th largest value within the range of the input. Similarly, a range top- query (denoted as top-) returns the positions of the -largest values within the range for all . From these definitions, RMQ can be considered a special case of sel- or top- with . There are two variations of top-: (1) sorted top- reports the answers in sorted order, based on the corresponding values in the input, and (2) unsorted top- reports the answers in an arbitrary order. For 1D array, Gawrychowski and Nicholson [25] showed that the space lower bound for answering sorted and unsorted top- are the same within additive lower order terms when . Throughout this survey, we use top- to refer to the sorted one.
| Query | Space (in bits) | Query time | ref |
| Upper bounds | |||
| top-2 | [10] | ||
| [26] | |||
| top- | [31] | ||
| [26] | |||
| [25] | |||
| Lower bounds | |||
| top-2 | [10] | ||
| [26] | |||
| top- | [31] | ||
| [26] | |||
For , Davoodi et al. [10] proposed a -bit data structure that can answer top- in time. Their solution is based on the Cartesian tree of the input, combined with additional information to support the queries. Furthermore, they showed that at least bits are required to answer top-.
For general , the first non-trivial result was introduced by Grossi et al.[31]. This work is an extended journal version of two earlier conference papers published in 2013 [32] and 2014 [44]. They first gave a space lower bound result that at least bits are necessary to answer sel- or top-, even when the query range is restricted to being -sided (i.e., a prefix of the input). Then using the concept of shallow cuttings [9], they design two -bit data structures. These structures support: (1) sel- in time, and (2) top- in time, for any . Hence, both data structures use asymptotically optimal space. Moreover, the query time for (1) is also optimal for any data structures using space, as shown by the lower bound result of Jørgensen and Larsen [36]. However, when the query range is -sided, they show that the time lower bound on range selection queries can be circumvented. Specifically, for -sided sel-, they proposed two data structures that (1) uses bits and supports queries in any time, or (2) uses bits and supports queries in time, for any constant .
The space upper and lower bounds for answering top- from [31] were later improved by Gawrychowski and Nicholson [23]. They showed that at least bits are necessary to answer top- and proposed an encoding scheme whose space usage is optimal up to lower-order additive terms. For instance, when , their encoding uses bits of space, improving upon the result of Davoodi et al.[10]. In the extended version of their paper [25], they also presented a -bit data structure that can answer top- in time. See Table 4 for a summary of the results on data structures for top- in a 1D array.
The approximated selection query is to find the position of an element whose rank lies between and for a constant , where denotes the length of the query range. In the special case where , the query is referred to as an approximate range median query. Bose et al. [4] introduced a data structure that uses bits of space, which can answer approximate range median queries in time. For general , El-Zein et al. [13] proposed a data structure with size bits that also supports query time. When is fixed, they showed that the size of the data structure can be reduced to bits while maintaining the same query time. Therefore, the result improves the space usage of [4] for approximated range median queries. Additionally, they showed that both data structures use asymptotically optimal space for constant by proving an -bit encoding lower bound for approximate range median queries.
Jo et al. [34] studied the top- on an 2D array with . For queries restricted to the range , they proposed an -bit encoding for sorted top- and an -bit encoding for unsorted top-. This result implies a space gap between the encodings for sorted and unsorted top- in 2D, unlike the 1D case, even when . For arbitrary rectangular query ranges, they presented an -bit encoding to answer top-. Compared to the -bit trivial encoding, which explicitly stores the input, their encoding uses less space when .
4 Range mode
A mode of a multiset is an element of that occurs at least as frequently as any other element in . In the range mode problem, we are given an array of elements which we can preprocess so as to answer range mode queries efficiently. Given a query range , the range mode query returns any position, between and , of a mode of the multiset . Krizanc et al. [40] were the first to consider the data structure version of the range mode problem. They proposed two structures achieving different time-space tradeoffs: (i) a data structure that takes words and supports queries in time, for any , and (ii) a data structures that takes words and supports range mode queries in time. The space bound of the second structure was improved to words by Petersen [47]. Subsequently, Petersen and Grabowski [48] improved both the tradeoffs to shave-off a log factor, to obtain the following results: (i) an space structure that supports queries in time, for any , and (ii) an space structure that supports the queries in time.
Greve et al. [30] showed that any data structure that uses memory cells of bits needs time to answer range mode queries. Chan et al. [7] designed a data structure that uses words of space and answers range mode queries in time. Also, by reducing the Boolean matrix multiplication problem to the range mode problem, they showed that any data structure for range mode must have either preprocessing time or query time in the worst case, where denotes the matrix multiplication exponent.
As all the above data structures use at least linear space, they can store the input as part of the data structure. One can improve the space usage significantly by considering approximate versions of the query as described in the next subsection.
4.1 Approximate range mode
In the approximate range mode problem, given a query range and a parameter , we are interested in returning a position such that the element occurs at least times the number of occurrences of the mode of the query range.
Bose et al. [4] were the first to consider this problem whose proposed data structures achieve constant query time for and , using storage space of , and words, respectively. They also give another data structure that takes words and answers -approximate range mode queries in time. This gives a linear space data structure that answers -approximate range mode queries in time, for constant . Greve et al. [30] propose an improved data structure that uses linear space and answers 3-approximate range mode queries in time. Using this data structure, they design another data structure that takes words and answers -approximate range mode queries in time. This gives a linear space data structure that answers -approximate range mode queries in time, for constant .
Finally, El-Zein et al. [13] designed an encoding data structure for approximate range mode queries that occupies bits of space and answers -approximate range mode queries in time. This improves the space usage of Greve et al. [30] by a factor of while maintaining the query time. They also show that the space usage of their structure is asymptotically optimal for constant by proving a matching lower bound.
5 Range majority and minority
Range majority and range minority queries are fundamental problems in data mining and theoretical computer science. They involve preprocessing a sequence such that, given a range , one can efficiently determine elements that occur frequently (majority) or infrequently (minority) within the range. These problems are closely related to range mode queries, which aim to find the most frequent element but are computationally harder.
Range majority.
Range majority problems are mainly studied under the assumption that one can access either the original or a compressed version of the input array. For the case when is fixed at preprocessing time, Karpinski and Nekrich [39] gave a data structure that takes words and supports -majority queries in time. Durocher et al. [12] independently considered the same problem and obtained an improved result which takes words and supports queries in optimal time. For the case when is not fixed at preprocessing time, Chan et al. [8] gave a structure that uses words and supports queries in optimal time. Gagie et al. [19] gave another structure for this case that takes words while supporting queries in optimal time (here denotes the -th order empirical entropy of the input). Belazzougui et al. [3] designed two improved structures: one that takes bits and supports queries in time, for any slowly growing function, and another structure that takes bits, for any constant and supports queries in time. For the case when the alphabet size satisfies , they also gave another structure that uses bits and supports queries in time.
For encoding data structures, Navarro and Thankachan [46] were the first to consider the encoding version of the -majority problem They obtained an encoding for range -majority queries that takes bits and supports range -majority queries, for any , in time , where is the word size. Moreover, they showed that the space usage is optimal by showing that any encoding for range -majority queries must use bits. They also propose another structure that takes bits and answers range -majority queries in time. Finally, Gawrychowski and Nicholson [27] improved the query time of the first structure above of Navarro and Thankachan to obtain a structure that uses bits and supports queries in time. Moreover they showed that the space bound is optimal even for a weaker query in which one must decide whether the query range contains at least one -majority element. Gawrychowski and Nicholson [28] also showed that for an array of size , for a large constant , any data structure for checking an existence of element with -majority either needs space or query time, through a reduction from the set intersection problem. This implies that it is unlikely that one can improve the query time to the output sensitive bound of when returning positions for range -majority queries.
Range minority.
Parameterized range minority problem was introduced by Chan et al. [8]. In this problem, we need to preprocess a given array such that given a parameter and a range , we need to return an element within the range that is not one of its -majorities, if there exists one. Currently, there are no encoding results for range minority queries. Also encoding data structure for minority queries are likely harder than the encoding data structures for majority queries. This is because at most elements can be candidates for -majority, whereas such a lower bound doesn’t exist for minority queries. Here, we mention some indexing data structures for range -minority queries.
Chan et al. gave a structure that takes words and supports queries in time. By exploiting the duality of this problem with range -majorities problem, Belazzougui et al. [3] obtain exactly the same tradeoffs they obtained for the -majority problem, mentioned above. Also, analogous to their range majority structure, Gagie et al. [20] propose a data structure that takes bits for any , and answers range -minority queries in time, where is the word size.
References
- [1] Amihood Amir, Johannes Fischer, and Moshe Lewenstein. Two-dimensional range minimum queries. In CPM, volume 4580 of LNCS, pages 286–294. Springer, 2007. doi:10.1007/978-3-540-73437-6_29.
- [2] Jérémy Barbay, Johannes Fischer, and Gonzalo Navarro. LRM-trees: Compressed indices, adaptive sorting, and compressed permutations. Theor. Comput. Sci., 459:26–41, 2012. doi:10.1016/J.TCS.2012.08.010.
- [3] Djamal Belazzougui, Travis Gagie, J. Ian Munro, Gonzalo Navarro, and Yakov Nekrich. Range majorities and minorities in arrays. Algorithmica, 83(6):1707–1733, 2021. doi:10.1007/S00453-021-00799-7.
- [4] Prosenjit Bose, Evangelos Kranakis, Pat Morin, and Yihui Tang. Approximate range mode and range median queries. In STACS, volume 3404 of LNCS, pages 377–388. Springer, 2005. doi:10.1007/978-3-540-31856-9_31.
- [5] Gerth Stølting Brodal, Pooya Davoodi, Moshe Lewenstein, Rajeev Raman, and Srinivasa Rao Satti. Two dimensional range minimum queries and fibonacci lattices. Theor. Comput. Sci., 638:33–43, 2016. doi:10.1016/J.TCS.2016.02.016.
- [6] Gerth Stølting Brodal, Pooya Davoodi, and S. Srinivasa Rao. On space efficient two dimensional range minimum data structures. Algorithmica, 63(4):815–830, 2012. doi:10.1007/S00453-011-9499-0.
- [7] Timothy M. Chan, Stephane Durocher, Kasper Green Larsen, Jason Morrison, and Bryan T. Wilkinson. Linear-space data structures for range mode query in arrays. Theory Comput. Syst., 55(4):719–741, 2014. doi:10.1007/S00224-013-9455-2.
- [8] Timothy M. Chan, Stephane Durocher, Matthew Skala, and Bryan T. Wilkinson. Linear-space data structures for range minority query in arrays. Algorithmica, 72(4):901–913, 2015. doi:10.1007/S00453-014-9881-9.
- [9] Timothy M. Chan and Bryan T. Wilkinson. Adaptive and approximate orthogonal range counting. ACM Trans. Algorithms, 12(4):45:1–45:15, 2016. doi:10.1145/2830567.
- [10] Pooya Davoodi, Gonzalo Navarro, Rajeev Raman, and S. Srinivasa Rao. Encoding range minima and range top-2 queries. Philosophical Transactions of the Royal Society A: Mathematical, Physical and Engineering Sciences, 372(2016):20130131, 2014. doi:10.1098/rsta.2013.0131.
- [11] Erik D. Demaine, Gad M. Landau, and Oren Weimann. On cartesian trees and range minimum queries. In Automata, Languages and Programming, 36th International Colloquium, ICALP Proceedings, Part I, volume 5555 of LNCS, pages 341–353. Springer, 2009. doi:10.1007/978-3-642-02927-1_29.
- [12] Stephane Durocher, Meng He, J. Ian Munro, Patrick K. Nicholson, and Matthew Skala. Range majority in constant time and linear space. Inf. Comput., 222:169–179, 2013. doi:10.1016/J.IC.2012.10.011.
- [13] Hicham El-Zein, Meng He, J. Ian Munro, Yakov Nekrich, and Bryce Sandlund. On approximate range mode and range selection. In ISAAC, volume 149 of LIPIcs, pages 57:1–57:14. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2019. doi:10.4230/LIPICS.ISAAC.2019.57.
- [14] Johannes Fischer. Combined data structure for previous- and next-smaller-values. Theor. Comput. Sci., 412(22):2451–2456, 2011. doi:10.1016/J.TCS.2011.01.036.
- [15] Johannes Fischer and Volker Heun. Theoretical and practical improvements on the rmq-problem, with applications to LCA and LCE. In Combinatorial Pattern Matching, 17th Annual Symposium, CPM 2006, Barcelona, Spain, July 5-7, 2006, Proceedings, volume 4009 of LNCS, pages 36–48. Springer, 2006. doi:10.1007/11780441_5.
- [16] Johannes Fischer and Volker Heun. Finding range minima in the middle: Approximations and applications. Math. Comput. Sci., 3(1):17–30, 2010. doi:10.1007/S11786-009-0007-8.
- [17] Johannes Fischer and Volker Heun. Space-efficient preprocessing schemes for range minimum queries on static arrays. SIAM J. Comput., 40(2):465–492, 2011. doi:10.1137/090779759.
- [18] Johannes Fischer, Veli Mäkinen, and Gonzalo Navarro. An(other) entropy-bounded compressed suffix tree. In CPM, volume 5029 of LNCS, pages 152–165. Springer, 2008. doi:10.1007/978-3-540-69068-9_16.
- [19] Travis Gagie, Meng He, J. Ian Munro, and Patrick K. Nicholson. Finding frequent elements in compressed 2d arrays and strings. In SPIRE, volume 7024 of LNCS, pages 295–300. Springer, 2011. doi:10.1007/978-3-642-24583-1_29.
- [20] Travis Gagie, Meng He, and Gonzalo Navarro. Compressed dynamic range majority and minority data structures. Algorithmica, 82(7):2063–2086, 2020. doi:10.1007/S00453-020-00687-6.
- [21] Pawel Gawrychowski, Seungbum Jo, Shay Mozes, and Oren Weimann. Compressed range minimum queries. Theor. Comput. Sci., 812:39–48, 2020. doi:10.1016/J.TCS.2019.07.002.
- [22] Pawel Gawrychowski, Shay Mozes, and Oren Weimann. Improved submatrix maximum queries in monge matrices. In ICALP (1), volume 8572 of LNCS, pages 525–537. Springer, 2014. doi:10.1007/978-3-662-43948-7_44.
- [23] Pawel Gawrychowski, Shay Mozes, and Oren Weimann. Submatrix maximum queries in monge matrices are equivalent to predecessor search. In Automata, Languages, and Programming – 42nd International Colloquium, ICALP Proceedings, Part I, volume 9134 of LNCS, pages 580–592. Springer, 2015. doi:10.1007/978-3-662-47672-7_47.
- [24] Pawel Gawrychowski, Shay Mozes, and Oren Weimann. Submatrix maximum queries in monge and partial monge matrices are equivalent to predecessor search. ACM Trans. Algorithms, 16(2):16:1–16:24, 2020. doi:10.1145/3381416.
- [25] Pawel Gawrychowski and Patrick K. Nicholson. Optimal encodings for range min-max and top-k. CoRR, abs/1411.6581, 2014. arXiv:1411.6581.
- [26] Pawel Gawrychowski and Patrick K. Nicholson. Optimal encodings for range top- , selection, and min-max. In ICALP (1), volume 9134 of LNCS, pages 593–604. Springer, 2015. doi:10.1007/978-3-662-47672-7_48.
- [27] Pawel Gawrychowski and Patrick K. Nicholson. Optimal query time for encoding range majority. In Algorithms and Data Structures – 15th International Symposium, WADS Proceedings, volume 10389 of LNCS, pages 409–420. Springer, 2017. doi:10.1007/978-3-319-62127-2_35.
- [28] Pawel Gawrychowski and Patrick K. Nicholson. Optimal query time for encoding range majority. CoRR, abs/1704.06149, 2017. arXiv:1704.06149.
- [29] Mordecai J. Golin, John Iacono, Danny Krizanc, Rajeev Raman, Srinivasa Rao Satti, and Sunil M. Shende. Encoding 2d range maximum queries. Theor. Comput. Sci., 609:316–327, 2016. doi:10.1016/J.TCS.2015.10.012.
- [30] Mark Greve, Allan Grønlund Jørgensen, Kasper Dalgaard Larsen, and Jakob Truelsen. Cell probe lower bounds and approximations for range mode. In ICALP (1), volume 6198 of LNCS, pages 605–616. Springer, 2010. doi:10.1007/978-3-642-14165-2_51.
- [31] Roberto Grossi, John Iacono, Gonzalo Navarro, Rajeev Raman, and S. Srinivasa Rao. Asymptotically optimal encodings of range data structures for selection and top-k queries. ACM Trans. Algorithms, 13(2):28:1–28:31, 2017. doi:10.1145/3012939.
- [32] Roberto Grossi, John Iacono, Gonzalo Navarro, Rajeev Raman, and Srinivasa Rao Satti. Encodings for range selection and top-k queries. In Algorithms – ESA 2013 – 21st Annual European Symposium, Proceedings, volume 8125 of LNCS, pages 553–564. Springer, 2013. doi:10.1007/978-3-642-40450-4_47.
- [33] Seungbum Jo and Geunho Kim. Space-efficient data structure for next/previous larger/smaller value queries. In LATIN 2022: Theoretical Informatics – 15th Latin American Symposium, Proceedings, volume 13568 of LNCS, pages 71–87. Springer, 2022. doi:10.1007/978-3-031-20624-5_5.
- [34] Seungbum Jo, Rahul Lingala, and Srinivasa Rao Satti. Encoding two-dimensional range top-k queries. Algorithmica, 83(11):3379–3402, 2021. doi:10.1007/S00453-021-00856-1.
- [35] Seungbum Jo and Srinivasa Rao Satti. Simultaneous encodings for range and next/previous larger/smaller value queries. Theor. Comput. Sci., 654:80–91, 2016. doi:10.1016/J.TCS.2016.01.043.
- [36] Allan Grønlund Jørgensen and Kasper Green Larsen. Range selection and median: Tight cell probe lower bounds and adaptive data structures. In Proceedings of the Twenty-Second Annual ACM-SIAM Symposium on Discrete Algorithms, SODA, pages 805–813. SIAM, 2011. doi:10.1137/1.9781611973082.63.
- [37] Haim Kaplan, Shay Mozes, Yahav Nussbaum, and Micha Sharir. Submatrix maximum queries in monge matrices and monge partial matrices, and their applications. In Proceedings of the Twenty-Third Annual ACM-SIAM Symposium on Discrete Algorithms, SODA, pages 338–355. SIAM, 2012. doi:10.1137/1.9781611973099.31.
- [38] Haim Kaplan, Shay Mozes, Yahav Nussbaum, and Micha Sharir. Submatrix maximum queries in monge matrices and partial monge matrices, and their applications. ACM Trans. Algorithms, 13(2):26:1–26:42, 2017. doi:10.1145/3039873.
- [39] Marek Karpinski and Yakov Nekrich. Searching for frequent colors in rectangles. In CCCG, 2008.
- [40] Danny Krizanc, Pat Morin, and Michiel H. M. Smid. Range mode and range median queries on lists and trees. Nord. J. Comput., 12(1):1–17, 2005.
- [41] Mingmou Liu. Nearly tight lower bounds for succinct range minimum query. CoRR, abs/2111.02318, 2021. arXiv:2111.02318.
- [42] Mingmou Liu and Huacheng Yu. Lower bound for succinct range minimum query. In Proceedings of the 52nd Annual ACM SIGACT Symposium on Theory of Computing, STOC, pages 1402–1415. ACM, 2020. doi:10.1145/3357713.3384260.
- [43] J. Ian Munro, Patrick K. Nicholson, Louisa Seelbach Benkner, and Sebastian Wild. Hypersuccinct trees – New universal tree source codes for optimal compressed tree data structures and range minima. In ESA, volume 204 of LIPIcs, pages 70:1–70:18. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2021. doi:10.4230/LIPICS.ESA.2021.70.
- [44] Gonzalo Navarro, Rajeev Raman, and Srinivasa Rao Satti. Asymptotically optimal encodings for range selection. In 34th International Conference on Foundation of Software Technology and Theoretical Computer Science, FSTTCS, volume 29 of LIPIcs, pages 291–301. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2014. doi:10.4230/LIPICS.FSTTCS.2014.291.
- [45] Gonzalo Navarro and Kunihiko Sadakane. Fully functional static and dynamic succinct trees. ACM Trans. Algorithms, 10(3):16:1–16:39, 2014. doi:10.1145/2601073.
- [46] Gonzalo Navarro and Sharma V. Thankachan. Optimal encodings for range majority queries. Algorithmica, 74(3):1082–1098, 2016. doi:10.1007/S00453-015-9987-8.
- [47] Holger Petersen. Improved bounds for range mode and range median queries. In SOFSEM 2008: 34th Conference on Current Trends in Theory and Practice of Computer Science, Proceedings, volume 4910 of LNCS, pages 418–423. Springer, 2008. doi:10.1007/978-3-540-77566-9_36.
- [48] Holger Petersen and Szymon Grabowski. Range mode and range median queries in constant time and sub-quadratic space. Inf. Process. Lett., 109(4):225–228, 2009. doi:10.1016/J.IPL.2008.10.007.
- [49] Luís M. S. Russo, Gonzalo Navarro, and Arlindo L. Oliveira. Fully compressed suffix trees. ACM Trans. Algorithms, 7(4):53:1–53:34, 2011. doi:10.1145/2000807.2000821.
- [50] Kunihiko Sadakane. Compressed suffix trees with full functionality. Theory Comput. Syst., 41(4):589–607, 2007. doi:10.1007/S00224-006-1198-X.
- [51] Matthew Skala. Array range queries. In Space-Efficient Data Structures, Streams, and Algorithms, volume 8066 of LNCS, pages 333–350. Springer, 2013. doi:10.1007/978-3-642-40273-9_21.
- [52] Dekel Tsur. The effective entropy of next/previous larger/smaller value queries. Inf. Process. Lett., 145:39–43, 2019. doi:10.1016/J.IPL.2019.01.011.
- [53] Jean Vuillemin. A unifying look at data structures. Commun. ACM, 23(4):229–239, 1980. doi:10.1145/358841.358852.
- [54] Hao Yuan and Mikhail J. Atallah. Data structures for range minimum queries in multidimensional arrays. In SODA, pages 150–160. SIAM, 2010. doi:10.1137/1.9781611973075.14.
