【发布时间】:2013-01-22 00:59:08
【问题描述】:
我需要将所有数字(在一个集群中可以是具有相同值的数字,例如只有 5)聚集在不同于传递的矩阵中并返回字典,如
{number1:[[(3,4),(4,5)],[]..], number2:...}#I am using Python
我可以遍历行和列,当我发现与传递的数字 x 不同的数字时,我开始填充并创建集群并记住访问的位置,以避免重复相同的集群,并且它可以工作。我想知道有没有人有更好的想法,更快?
举个例子(我想将所有不同于 1 的数字聚集在一起) 传递值 1
2 1 1 2
2 1 2 2
1 1 3 3
我会得到 { 2:[(0,0),(1,0)],[(0,3),(1,2)(1,3)], 3:[(2,2) ,(2,3)]}
【问题讨论】:
-
等一下。 什么您要按照哪个标准进行聚类?
-
@larsmans 我已经澄清了一点,你现在能帮忙吗?
-
你的问题(如果我理解的话,因为问题很不清楚)与连接组件标记非常相似,并且洪水填充是最慢的方法。也许你只是想要比洪水填充更快的东西?
-
@Damir 是对您的解决方案进行聚类以检索访问过的位置,还是您真正需要的?我的回答假设您只需要一种有效的方法来检索已访问的单元格。