我有两个节点通过网络相互连接。它们每个都有一个排序的值集(在本例中为整数)。
我想找到两组交集的最小值。由于延迟和带宽限制,将一组传输到另一个节点并在本地执行操作是不可行的。
有没有办法在尽可能少的步骤中找到不需要O(N)数据传输的交叉点的最小值?
编辑: 这些集可能很稀疏。集合A中的最小值可能不存在于集合B中。
答案 0 :(得分:0)
一种方法是在一个节点上创建Bloom Filter,将其发送到另一个节点,该节点运行双向搜索,从本地最小值开始。
这节省了一些数据传输,但需要在两个节点上进行大量处理。