Tag: 集交集

Python:基于交集的简单列表合并

考虑有一些整数列表: #————————————– 0 [0,1,3] 1 [1,0,3,4,5,10,…] 2 [2,8] 3 [3,1,0,…] … n [] #————————————– 问题是合并具有至less一个共同元素的列表。 所以只给定部分的结果如下: #————————————– 0 [0,1,3,4,5,10,…] 2 [2,8] #————————————– 什么是最有效的方式来做大数据(元素只是数字)? tree结构有什么想法? 我现在通过将列表转换为sets并迭代交集来完成这项工作,但速度很慢! 此外,我有一种如此基本的感觉! 另外,由于某些列表在某些时候没有被隐藏,因此缺less某些东西(未知)。 话虽如此,如果你提出的自我实现,请慷慨,并提供一个简单的示例代码[显然Python是我最喜欢:)]或伪代码。 更新1:这是我正在使用的代码: #————————————– lsts = [[0,1,3], [1,0,3,4,5,10,11], [2,8], [3,1,0,16]]; #————————————– function是( 越野车!! ): #————————————– def merge(lsts): sts = [set(l) for l in lsts] i = 0 while i […]

高效的列表交集algorithm

给定两个列表(不一定sorting),find这些列表的交集最有效的非recursionalgorithm是什么?