问题
我的邻接列表大约为67 000 x 5.下面显示了一些示例数据。第1列显示点,第2-5列包含每个点的所有邻居。零是不存在的点。
A= 1 50 3 86 4
2 1701 11 19 1001
3 1 0 100 88
4 999 765 34 1
etc.
现在我在1256x1的情况下有第二组积分,但我们假设这个例子是这样的。
B= [ 1 2 3 4 11 34 55 etc.]
我想拥有什么
现在我在A中寻找我的数据集B的集群,这意味着我想找到在我的邻接列表中连接的B的所有点。就像示例那样
C1=[1 3 4 34]
C2=[2 11]
有什么聪明的方法可以解决这个问题吗?我完全陷入困境,我甚至不确定从哪里开始。谢谢你的帮助!
修改
How can I cluster points which are connected in MATLAB?
与上面提到的问题不同,我不是在我的Edgelist中寻找一个集群,但我想具体测试我的第二个数据集B是否包含邻居/集群的点。我知道我的数据集A是一个大集群 - 它是一个无向图,基本上是一个矩形,每个节点都连接到它周围的节点,因此可以在不违反边缘约束的情况下到达所有块。
是否需要调整上面链接中描述的算法来查找A?
中的数据集B的簇