Static Retrieval Revisited: To Optimality and Beyond

Abstract

In the static retrieval problem, a data structure must answer retrieval queries mapping a set of n keys in a universe [U] to v-bit values. Information-theoretically, retrieval data structures can use as little as nv bits of space. For small value sizes v, it is possible to achieve O(1) query time while using space nv + o(n) bits -- whether or not such a result is possible for larger values of v (e.g., v = ( n)) has remained open. In this paper, we obtain a tight lower bound (as well as matching upper bounds) for the static retrieval problem. In the case where values are large, we show that there is actually a significant tension between time and space. It is not possible, for example, to get O(1) query time using nv + o(n) bits of space, when v = ( n) (and assuming the word RAM model with O( n)-bit words). At first glance, our lower bound would seem to render retrieval unusable in many settings that aim to achieve very low redundancy. However, our second result offers a way around this: We show that, whenever a retrieval data structure D1 is stored along with another data structure D2 (whose size is similar to or larger than the size of D1), it is possible to implement the combined data structure D1 D2 so that queries to D1 take O(1) time, operations on D2 take the same asymptotic time as if D2 were stored on its own, and the total space is nv + Space(D2) + n0.67 bits.

0

Turn this paper into a full lesson

ArcXiv compiles a staged curriculum from this paper: 8-12 lessons across beginner → advanced, synthesised section guides, visuals, flashcards, a quiz, exercises, and on-demand deep dives per section. Grounded in the abstract, never invented.

Discussion (0)

Sign in to join the discussion.

Loading comments…