当前位置:  开发笔记 > 编程语言 > 正文

用于合并共享至少2个元素的集合的算法

如何解决《用于合并共享至少2个元素的集合的算法》经验,为你挑选了0个好方法。

给出一组集合:

S_1:[1,2,3,4]

S_2:[3,4,5,6,7]

S_3:[8,9,10,11]

S_4:[1,8,12,13]

S_5:[6,7,14,15,16,17]

合并至少共享2个元素的所有集合的最有效方法是什么?我想这类似于连接组件问题.结果将是:

[1,2,3,4,5,6,7,14,15,16,17](S_1 UNION S_2 UNION S_5)

[8,9,10,11]

[1,8,12,13](S_4与S_1共享1,与S_3共享8,但未合并,因为它们只共享一个元素)

天真的实现是O(N ^ 2),其中N是集合的数量,这对我们来说是行不通的.这需要对数百万套有效.

推荐阅读
N个小灰流_701
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有