【发布时间】:2014-10-21 12:36:02
【问题描述】:
只是想知道是否有现成的功能可以执行以下操作;给定一个矩阵 X,在每个条目中保存标签(可以假定为整数 0 到 N),例如:
X = [[0 1 1 2 2 3 3 3],
[0 1 1 2 2 3 3 4],
[0 1 5 5 5 5 3 4]]
我想要它的邻接矩阵 G,即如果 i,j 在 X 中相邻,则 G[i,j] = 1,否则为 0。
例如G[1,2] = 1,因为1,2在(X[0,2],X[0,3])中是相邻的,(X[1,2],X[1,3 ]) 等等。
天真的解决方案是遍历所有条目并检查其邻居,但出于性能原因,我宁愿避免循环。
【问题讨论】:
-
我没有在
X中得到你的邻接矩阵的表示,你能解释一下吗? -
在不读取数据的情况下无法转换数据,任何现成的函数都会在幕后循环遍历这些条目,因此在性能方面您不会保存任何内容。
-
@SaulloCastro:我添加了一个示例。有帮助吗?
-
@yurib: 当然可以,但循环可能是用 c++ 编写的
标签: python arrays numpy matrix adjacency-matrix