A dynamic retrieval data structure encodes a function $f:K \rightarrow [2^v]$ for a set $K \subseteq [U]$, while supporting queries $f(x)$ for $x\in K$, insertions \texttt{Insert}$(x, f(x))$ for $x \notin K$, and deletions \texttt{Delete}$(x)$ for $x \in K$. Given an upper bound $N$ on $|K|$, it is known how to solve the dynamic retrieval problem with $O(1)$-time operations and space $Nv + O(N \log \log (U/N))$ bits. An open question, first posed by Demaine et al. in 2006, is whether a similar bound can be achieved with a resizable data structure, whose space bound is parameterized by the \emph{current} size $n$ of $K$. We answer this question in the affirmative and prove matching lower bounds for the space-time trade-off achieved by our data structure. We also give corollaries for space-efficient memory allocation and dynamic filters.
翻译:一种动态检索数据结构对集合 $K \subseteq [U]$ 编码函数 $f:K \rightarrow [2^v]$,同时支持查询 $x\in K$ 时的 $f(x)$、对 $x \notin K$ 的插入操作 \texttt{Insert}$(x, f(x))$,以及对 $x \in K$ 的删除操作 \texttt{Delete}$(x)$。给定 $|K|$ 的上界 $N$,已知可采用 $O(1)$ 时间操作和空间 $Nv + O(N \log \log (U/N))$ 比特解决动态检索问题。一个由Demaine等人于2006年首次提出的开放问题是:能否通过一种可调整大小的数据结构实现类似的界,其空间界以 $K$ 的 \emph{当前}大小 $n$ 为参数。我们对此问题给出肯定回答,并为我们的数据结构实现的空间-时间权衡证明了匹配的下界。我们还给出了空间高效内存分配和动态过滤器的推论。