动态设置的指纹


10

是否存在每个操作的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)算术运算。

f(S)=(xS2x)modp
2xmodp

3
我看到已经在这里发布了类似的问题,但是没有给出固定时间的解决方案。
帕特莫林

Answers:


1

这个答案有点动摇。

h

  1. 空集的指纹为0。
  2. ffh(x)

STSTST2w


h
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.