首页 > 解决方案 > 在 Java 中对连接组进行聚类

问题描述

我对 Java 很陌生,所以我将首先为缺乏代码显示而道歉。不久前,我在 SQL(使用游标处理)和 Python(使用 DataFrames)中为队列关系创建了一个集群程序,并被要求转换为 Java - 没有运气 - 所以我希望有人对如何做这个。

这就是问题所在 - 使用人员和国家的公共变量:

我正在尝试将每个去过一个国家和去过同一个国家的人聚集在一起,所以在下面你可以看到 A 人去过德国,C 也去过德国(所以他们应该在集群中)A 人和B都去过瑞典,B和C去过美国等,所以他们应该在同一个集群中。D 人和 E 人从未去过 A、B 和 C 所访问的国家,但他们都去过冰岛,所以他们应该聚集在一起。

在此处输入图像描述

所以,最终的解决方案是这样的:

在此处输入图像描述

我应该提到我知道解决问题的步骤,但不确定如何在 Java 中使用数组来做到这一点——或者这是否是最好的解决方案。这将是我看到的步骤:

  1. 制作一个独特的国家名单
  2. 遍历国家(因此首先选择德国,例如)
  3. 查看所有去过德国的人
  4. 然后,找到这些人去过的所有其他国家
  5. 然后,查看 4 中的新国家,看看是否应该添加之前未包括的其他旅行者
  6. 然后经过 4 和 5 直到没有额外的人和国家并添加一个集群号
  7. 然后,从我们在步骤 1 中获得的列表中删除第一个集群中的国家,然后再次执行,直到步骤 1 中没有更多国家

但是用数组/列表而不是表格和框架来做这件事是我还没有找到解决方案的……</p>

标签: javavariablescluster-analysisrelationship

解决方案


推荐阅读