【发布时间】:2010-10-16 05:26:28
【问题描述】:
我有 N 组 Si 组数字,每个组的大小不同。让 m1, m2, ... mn 为各个集合的大小(mi = | Si |),M是最大集合的大小。我必须找到其中至少有两个数字的公共子集。示例:
Set Items
1 10,80,22
2 72, 10, 80, 26,50
3 80,
4 10, 22
5 22, 72, 10, 80, 26,50
所以结果会是这样的
Items Found in sets
10, 22 1, 4
10, 80 1, 2, 5
10, 80, 22 1, 5
10, 72, 80, 26, 50 2, 5
那么如何自动解决这个问题以及相应解决方案的预期复杂性是多少?我需要它尽可能快。
【问题讨论】:
-
N 和 M 可能有多大?
-
N 可以是任何数字,但假设 n = 100 并且 m 最多 15 个项目
-
你的意思是在你的例子中,M 被认为是 6? (大约是一行中的最大项目数(即,在一个数组中))
-
m 可以有最大值吗?那么m维度真的可以是一个常数......即使它是15 * 15,它也是225并且在考虑O()时被认为是一个常数
-
Ehm,您需要尽快进行讨论吗?
标签: algorithm