给定一个集合S = {s i : {z j : z ∈ N } },计算S的子集的唯一交集的高效算法是什么?
作为背景,我正在处理这个问题的几个版本,有些版本比其他版本大。在最小的一个 | 小号| ≈ 1,000, |s i | ≈ 10,000,值是邮政编码。
为清晰起见的小例子:
输入:S = {{},{1},{2,3},{3,4,5,6,7,8,9,10}} 输出:{{},{1},{2,3},{3,4,5,6,7,8,9,10},{3}}
| 小号| = 4 并且有 2 4 = 16 个S的子集。但是,只有五组独特的子集交集。前四个是S本身的成员。第五个是{3}。空集已经是S的成员。所有其他 10 个子集交集也产生空集。