An Optimal Choice Dictionary

Abstract

A choice dictionary is a data structure that can be initialized with a parameter n∈\1,2,…\ and subsequently maintains an initially empty subset S of \1,…,n\ under insertion, deletion, membership queries and an operation 'choice' that returns an arbitrary element of S. The choice dictionary is fundamental in space-efficient computing and has numerous applications. The best previous choice dictionary can be initialized with n and a second parameter t∈\1,2,…\ in constant time and subsequently executes all operations in O(t) time and occupies n+O(n(t/w)t+ n) bits on a word RAM with a word length of w=( n) bits. We describe a new choice dictionary that, following a constant-time initialization, executes all operations in constant time and, in addition to the space needed to store n, occupies only n+1 bits, which is shown to be optimal if w=o(n). Allowed 2(n+1) bits of additional space, the new data structure also supports iteration over the set S in constant time per element.

0

Turn this paper into a lesson

ArcXiv compiles a structured reading guide from this paper's metadata: plain-English importance, contributions, prerequisite concepts, which sections to read first, flashcards, and a quiz. Grounded in the abstract, never invented.

Discussion (0)

Sign in to join the discussion.

Loading comments…