带游程的位向量与后继/前驱问题
数据结构与算法
2020-02-27 v1
摘要
后继和前驱问题包括在一个整数集合中取得大于/小于给定值的最接近值。该问题具有有趣的应用,例如倒排列表的交集。它可以容易地通过使用大小为的位向量及其rank和select操作来建模。然而,存在一种实用方法,在保持最佳理论界的同时,能更高效地解决后继和前驱问题。基于该技术,我们设计了一种用于具有个游程的位向量的新型紧凑数据结构,其通过消耗比特的空间,在时间内实现访问、rank以及后继/前驱操作。在实践中,当游程大于时,它获得的压缩率,并成为在后继/前驱查询中考虑可压缩性的最快技术。此外,我们给出了该结构的递归变体,其趋向于比特并花费时间。
引用
@article{arxiv.2002.11691,
title = {Bitvectors with runs and the successor/predecessor problem},
author = {Adrián Gómez-Brandón},
journal= {arXiv preprint arXiv:2002.11691},
year = {2020}
}
备注
This research has received funding from the European Union's Horizon 2020 research and innovation programme under the Marie Sk{\l}odowska-Curie Actions H2020-MSCA-RISE-2015 BIRDS GA No. 690941