什么是增量散列元素集的好方法?这必须发生,以便可以按任何顺序添加和删除元素,并且仍然相等的集合具有相同的散列。目的是能够从一组集合中快速找到一个集合或其轻微修改。
关于组合算子的向量空间方法
这是不起作用的东西。b 位整数整数可以被认为是 GF(2) 上的向量空间 V,其中加法是 XOR 运算符(例如 10 + 11 = 01),乘以 0 或 1 是分量明智的逻辑与(例如 1 * 10 = 10, 0 * 10 = 00)。可以将元素随机(但固定)映射到 b 位整数 E = {e_1, ..., e_b},然后通过将元素的哈希相加来计算集合的哈希。这样做时,必须确保 E 构成向量空间 V 的基础;否则哈希不能使用 b 位整数的所有值。
这种技术的问题是,如果 E 基的使用子集没有,例如,任何基向量 e_i 的非零第一个分量,那么得到的散列不能是奇数。取决于正在使用的基向量的哪个子集,会出现类似的问题。总之,不应该使用 XOR 来查找集合的哈希值。使用正常的求和 + 可能不会更好。