我无法在一个地方找到任何令人满意的关于这个主题的报道,所以我想知道:最快的集合相交、联合和分离算法是什么?
有没有一些有趣的域名有限的?
任何人都可以击败 O(Z),其中 Z 是交叉点的实际大小?
如果您的方法依赖于排序集,请注意这一点,但不要将其视为取消资格的因素。在我看来,必须有一个名副其实的微妙优化库要共享,我不想错过任何一个。
我知道的一些算法依赖于原版之外的按位运算,因此您可以假设存在 SSE4 并可以访问诸如 popcount 之类的内在函数。请注意这个假设。
感兴趣的: BY Intersect 的实现
更新
我们已经得到了一些非常好的部分答案,但我仍然希望对这个问题进行更完整的攻击。我特别有兴趣看到更全面地使用布隆过滤器来解决问题。
更新
我已经完成了一些将布隆过滤器与布谷鸟哈希表结合起来的初步工作。它看起来几乎令人讨厌,因为他们有非常相似的要求。我已经接受了答案,但目前我并不满意。