中文

小型无着色与着色选择字典

数据结构与算法 2018-09-21 v1

摘要

选择字典可用参数 nNn\in\mathbb{N} 初始化,随后在插入、删除、成员查询以及返回 SS 中任意元素的 choice\textit{choice} 操作下维护 {1,,n}\{1,\ldots,n\} 的初始空子集 SS。选择字典在空间高效计算中基础且应用广泛。此前最优的选择字典可用 nntNt\in\mathbb{N} 初始化,随后在字长为 w=Ω(logn)w=\Omega(\log n) 位的字 RAM 上以 O(t)O(t) 时间执行所有操作,并占用 n+O(n(t/w)t+logn)n+O(n({t/w})^t+\log n) 位。我们描述了一种新的选择字典,以常数时间执行所有操作,且除存储整数 nn 所需空间外仅占用 n+1n+1 位,当 w=o(n)w=o(n) 时被证明是最优的。选择字典的一种推广称为着色选择字典,除 nn 外还用 cNc\in\mathbb{N} 初始化,随后在 setcolor(j,)\textit{setcolor}(j,\ell)(将 \ell 从其当前子集移到 SjS_j)、color()\textit{color}(\ell)(返回满足 Sj\ell\in S_j 的唯一 j{0,,c1}j\in\{0,\ldots,c-1\})和 choice(j)\textit{choice}(j)(返回 SjS_j 中任意元素)操作下维护 {1,,n}\{1,\ldots,n\} 的半划分 (S0,,Sc1)(S_0,\ldots,S_{c-1})。我们描述了新的着色选择字典:若以常数 cc 初始化,则以常数时间执行 setcolor\textit{setcolor}color\textit{color}choice\textit{choice},当 cc 为 2 的幂时占用 nlog2 ⁣c+1n\log_2\!c+1 位加上存储 nn 所需空间,一般情况下对任意固定 ϵ>0\epsilon>0 最多占用 nlog2 ⁣c+nϵn\log_2\!c+n^\epsilon 位。我们还研究了遍历集合 SS 或给定 j{0,,c1}j\in\{0,\ldots,c-1\}SjS_j 的可能性,以及其在广度优先搜索中的应用。

关键词

引用

@article{arxiv.1809.07661,
  title  = {Small Uncolored and Colored Choice Dictionaries},
  author = {Torben Hagerup},
  journal= {arXiv preprint arXiv:1809.07661},
  year   = {2018}
}