是否存在每个操作的O(1)时间的w位word-RAM数据结构,用于以下问题?:维护一组支持该操作的w位非负整数。
- add(x):将x添加到集合中
- remove(x):从集合中移除x
- Fingerprint():返回集合的指纹。该w位指纹具有以下特性:两个相同的集合具有相同的指纹,而两个不同的集合可能具有不同的指纹
所有操作应在恒定时间内运行。
拉宾-卡普指纹方案,其中,其中p是一个随机w比特素几乎起作用。问题在于更新时间,因为计算2 x mod p花费的时间比固定时间长。使用重复平方,可以在O(log w)时间内完成。我能找到的最快的模块化幂运算算法做了(log w)/(loglog w)算术运算。
3
我看到已经在这里发布了类似的问题,但是没有给出固定时间的解决方案。
—
帕特莫林