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

标签 java algorithm data-mining apriori

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

谢谢

最佳答案

将集合作为值存储在 Hashtable 中键由列表组成,已排序,用分隔符连接。这将导致 [x, y][y, x]都存储在 key String.format('%d:%d', x, y) 下(假设 x <= y )。这将使您能够捕捉到重复项。

关于java - 如果顺序无关紧要,如何从具有 k 个元素的集合列表中创建具有 k+1 个元素的集合列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51105495/

相关文章:

machine-learning - precision_recall_fscore_support 返回相同的准确度、精确度和召回率值

data-mining - equal - depth binning - 是否只是将数据分成k组

java - 配置 Eclipse 以将 App Engine 类预捆绑到单个 JAR 中以加快预热速度

algorithm - 按子词搜索字符串

c++ - 获取具有计数的 vector 的不同 vector

algorithm - 如何检测数字模式中的热连胜?

algorithm - 使用遗传算法选择稀疏参数

java - 在Java中的现有套接字上创建未连接的SSLSocket

java - 使用 Maven Assembly Plugin 时,XFire NamespaceURI 不能为空

java - Tomcat - 当应用程序未正确部署时如何获取 http 500 而不是 404?