当前位置: 首页 > 知识库问答 >
问题:

如果顺序无关紧要,如何从k个元素的集合列表中创建具有k个元素的集合列表?

单品
2023-03-14

我正在尝试实现Apriori算法的一个变体,该算法涉及从大小为k的集合列表中形成大小为K1的集合列表。例如,如果我有列表[[1]、[2]、[3]、[4],我想形成列表[[1,2]、[1,3]、[1,4]、[2,3]、[2,4]、然后[[1,2,3]、[1,2,4]、[2,4]]。我曾考虑过使用LinkedHashSet数据结构删减重复的元素,但LinkedHashSet不会删减我想要删除的结构[x,y][y,x]中的事例。有人对这类事情有什么建议或经验吗?

谢谢

共有2个答案

杜河
2023-03-14

这将是缓慢的。在包含多个项目的大数据上尝试。你会遇到组合爆炸。

APRIORI对其数据进行排序有很好的理由,为什么它使用更复杂(但效率更高)的AprioriGen方法以及哈希树。

须敏学
2023-03-14

将集合作为值存储在哈希表中,键由列表组成,排序后,用分隔符连接。这将导致[x,y][y,x]都存储在键字符串下。格式(“%d:%d”,x,y)(假设x

 类似资料:
  • 这是一个算法问题。如果我错过了Python中任何有帮助的现有函数,请大喊一声。 给定一组元素的,我们可以在Python中使用函数来找到所有唯一的k元素子集。让我们调用包含所有这些子集的集合。请注意,每个这样的子集都有不同的元素。 问题是两步走。首先,给定这些k-不同元素子集,我想组合(其中的一些),这样(组合只是一些子集的超集): > 构图中任意两个子集之间的交集为空 构图中所有子集的并集给出的正

  • 问题内容: 我想知道是否可以获取列表或集合的第一个元素。使用哪种方法? 问题答案: Collection c; (这是获得a的“第一个”元素的最接近的位置。您应该意识到,它对于的大多数实现绝对没有任何意义。这可能对LinkedHashSet和TreeSet有意义,但对HashSet没有意义。)

  • 问题内容: 我不了解Python从保持集中应用的顺序。例如: 的顺序是。为什么“ A”在“ C”之前(可能是字母顺序)?为了保留添加顺序,我必须做什么? 问题答案: 您不能有订单集。而且没有办法告诉Python如何订购它。检查此答案以找到替代方法。

  • 本文向大家介绍从Python中的元组列表中找到前K个频繁元素,包括了从Python中的元组列表中找到前K个频繁元素的使用技巧和注意事项,需要的朋友参考一下 我们有一个元组列表。在其中,我们需要找到前k个频繁元素。如果k为3,则需要从列表中的元组中找到前三个元素。 使用defaultdict 我们使用defaultdict将元素放入字典容器中。然后仅找出满足前k个条件的元素。 示例 输出结果 运行上

  • 问题内容: 我想编写一个函数,该函数以字母数组作为参数,并选择多个字母。 假设您提供8个字母的数组,并希望从中选择3个字母。然后您将获得: 返回由3个字母组成的数组(或单词)。 问题答案: 格雷码您会遇到的一个问题当然是记忆力,而且很快,您的集合中会有20个元素出现问题-20 C 3 =1140。而且,如果要遍历集合,最好使用修改后的灰色代码算法,因此您不必将所有代码都保存在内存中。这些将根据之前