我有一组Sx
整数,我希望在尽可能小的空间内回答集合成员资格查询。 (编辑以更明确地回应尼克拉斯的评论)
然而,我被允许在数字中有一些“模糊”,即,如果x
中的Sx
代替y
,我可以存储任何其他数字[x-k, x+k]
范围k
。这里Sx
是一个给定的“模糊”常数。
现在,我们已将集Sy
修改为由所有y
值组成的另一个集x
,这些值是Sy
值的模糊版本。现在,我希望有一个数据结构可以回答e
上的设置成员资格查询,可能有一些错误概率Sx
(请注意Sx
中的元素不再与设置成员资格查询,即使Sx
中的所有元素都更改为不同的值,也可以。)
一个简单的答案是创建一个由O(|Sx|log(1/e))
中的所有元素组成的布隆过滤器,它将消耗k
。我想知道在我的具体情况下是否可以改进这个限制。
实际上,S
数字约为3,而设置{{1}}中的数字间隔约为30。