大数据量的处理
金蝶云社区-云社区用户D3466603
云社区用户D3466603
3人赞赏了该文章 385次浏览 未经作者许可,禁止转载编辑于2018年09月21日 19:25:41

16. 将多个集合合并成没有交集的集合:给定一个字符串的集合,格式如: 。要求将其中交集不为空的集合合并,要求合并完成的集合之间无交集,例如上例应输出 。 (1) 请描述你解决这个问题的思路; (2) 给出主要的处理流程,算法,以及算法的复杂度; (3) 请描述可能的改进。 方案1:采用并查集。首先所有的字符串都在单独的并查集中。然后依扫描每个集合,顺序合并将两个相邻元素合并。例如,对于 , 首先查看aaa和bbb是否在同一个并查集中,如果不在,那么把它们所在的并查集合并,然后再看bbb和ccc是否在同一个并查集中,如果不在,那么也把 它们所在的并查集合并。接下来再扫描其他的集合,当所有的集合都扫描完了,并查集代表的集合便是所求。复杂度应该是O(NlgN)的。改进的话,首先可以 记录每个节点的根结点,改进查询。合并的时候,可以把大的和小的进行合,这样也减少复杂度。   --------------------- 本文来自 Aldeo 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/zhangzijiejiayou/article/details/50616520?utm_source=copy

图标赞 3
3人点赞
还没有人点赞,快来当第一个点赞的人吧!
图标打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!