小型无着色与着色选择字典
数据结构与算法
2018-09-21 v1
摘要
选择字典可用参数 n∈N 初始化,随后在插入、删除、成员查询以及返回 S 中任意元素的 choice 操作下维护 {1,…,n} 的初始空子集 S。选择字典在空间高效计算中基础且应用广泛。此前最优的选择字典可用 n 和 t∈N 初始化,随后在字长为 w=Ω(logn) 位的字 RAM 上以 O(t) 时间执行所有操作,并占用 n+O(n(t/w)t+logn) 位。我们描述了一种新的选择字典,以常数时间执行所有操作,且除存储整数 n 所需空间外仅占用 n+1 位,当 w=o(n) 时被证明是最优的。选择字典的一种推广称为着色选择字典,除 n 外还用 c∈N 初始化,随后在 setcolor(j,ℓ)(将 ℓ 从其当前子集移到 Sj)、color(ℓ)(返回满足 ℓ∈Sj 的唯一 j∈{0,…,c−1})和 choice(j)(返回 Sj 中任意元素)操作下维护 {1,…,n} 的半划分 (S0,…,Sc−1)。我们描述了新的着色选择字典:若以常数 c 初始化,则以常数时间执行 setcolor、color 和 choice,当 c 为 2 的幂时占用 nlog2c+1 位加上存储 n 所需空间,一般情况下对任意固定 ϵ>0 最多占用 nlog2c+nϵ 位。我们还研究了遍历集合 S 或给定 j∈{0,…,c−1} 的 Sj 的可能性,以及其在广度优先搜索中的应用。
引用
@article{arxiv.1809.07661,
title = {Small Uncolored and Colored Choice Dictionaries},
author = {Torben Hagerup},
journal= {arXiv preprint arXiv:1809.07661},
year = {2018}
}