Given an array A[1, n] of elements with a total order, we consider the problem of building a data structure that solves two queries: (a) selection queries receive a range [i, j] and an integer k and return the position of the kth largest element in A[i, j]; (b) top-k queries receive [i, j] and k and return the positions of the k largest elements in A[i, j]. These problems can be solved in optimal time, O(1 + lgk/lg lg n) and O(k), respectively, using linear-space data structures.
We provide the first study of the encoding data structures for the above problems, where A cannot be accessed at query time. Several applications are interested in the relative order of the entries of A, and their positions, rather their actual values, and thus we do not need to keep A at query time. In those cases, encodings save storage space: we first show that any encoding answering such queries requires nlg k - O(n + klg k) bits of space; then, we design encodings using O(nlg k) bits, that is, asymptotically optimal up to constant factors, while preserving optimal query time.
es_ES
Patrocinador
dc.description.sponsorship
MIUR PRIN, 2012C4E3KT /
Millennium Nucleus Information and Coordination in Networks, ICM/FIC P10-024F /
Basic Science Research Program through the National Research Foundation of Korea (NRF) - Ministry of Education, Science and Technology, 2012-0008241