Given a set of (distinct) keys from key space , each associated with a value from , the \emph{static dictionary} problem asks to preprocess these (key, value) pairs into a data structure, supporting value-retrieval queries: for any given , must return the value associated with if , or return if $x\notin S|\Sigma|=1$ is called the \emph{membership} problem. The “textbook” solution is to use a hash table, which occupies linear space and answers each query in constant time. On the other hand, the minimum possible space to encode all (key, value) pairs is only $:= \lceil\lg_2\binom{U}{n}+n\lg_2|\Sigma|\rceil$ bits, which could be much less. In this paper, we design a randomized dictionary data structure using bits of space, and it has \emph{expected constant} query time, assuming the query algorithm can access an external lookup table of size . The lookup table depends only on , and , and not the input. Previously, even for membership queries and , the best known data structure with constant query time requires bits of space (Pagh [Pag01] and P\v{a}tra\c{s}cu [Pat08]); the best-known using space has query time ; the only known non-trivial data structure with space has query time and requires a lookup table of size (!). Our new data structure answers open questions by P\v{a}tra\c{s}cu and Thorup [Pat08,Tho13]. We also present a scheme that compresses a sequence to its zeroth order (empirical) entropy up to extra bits, supporting decoding each in expected time.

生成讲解博客的中文版本

生成AI智能校验的中文版本