尝试使用networkx查找两个节点之间的距离(欧几里得)

事情

关于如何计算图中两个节点之间的欧式距离的任何建议?使用此图:

nodes = [('B','D'), ('D','E'), ('D','A'), ('E','A'), ('E','C'), ('A','C')]
graph = nx.Graph(nodes)
nx.draw(graph, node_color = 'red', with_labels = True)

我尝试使用

nx.shortest_path(graph, source, target)

使用nx.shortest_path()给我以下错误:

TypeError: argument of type 'NoneType' is not iterable

我知道Dijkstra的算法,但我只想计算欧几里得距离。有什么建议?

翘曲

您应该能够像这样计算最短距离:

dist = nx.shortest_path(graph, 'A', 'B')

dist的长度为您提供了节点A和B之间的步数:

len(dist)

# returns 3

计算欧几里得距离将要求节点具有与之关联的某种坐标。

例如存储在属性中coords

# adding coordinates:
for n in graph.nodes:
    graph.nodes[n]['coords'] = np.random.rand(2)
    
def get_euclidean_distance(graph, source, dest):
    x1, y1 = graph.nodes[source]['coords']
    x2, y2 = graph.nodes[dest]['coords']
    
    return np.sqrt((x1-x2)**2 + (y1-y2)**2) 


get_euclidean_distance(graph, 'A', 'B')

# out 0.14540849196243125

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

计算两个python数组之间的欧几里得距离

使用Unetstack和Groovy脚本查找两个节点之间的距离

如何使用networkx查找任意两个节点之间的边数?

如何使用SKConstraint设置两个节点之间的距离?

postgresql - 两个节点之间的距离

使用jQuery查找两个DIV之间的距离?

R:使用不同方法计算两个向量之间的欧几里得距离时,结果不同

如何计算ND4J中两个INDArrays向量之间的欧几里得距离?

计算两个熊猫数据框的行之间的欧几里得距离

两个不同的Numpy数组中的点之间的最小欧几里得距离,不在

如何计算矩阵中两个元素之间的最大欧几里得距离-R?

没有双重for循环的两个python矩阵之间的欧几里得距离?

我正在尝试查找C中两个字母之间的距离(使用字符)

查找一对索引值,该索引值可最小化两个网格和列矢量之间的欧几里得距离

寻找两个节点之间的最短距离

循环链表中两个节点之间的距离

使用Python的广度优先搜索算法在两个节点之间的距离

查找两个矩阵之间的最小余弦距离

在 R 中查找两个变量之间的最小距离

查找两个矩阵的行之间的最小距离

在Python中获取两个向量的欧几里得距离

长度不同的两个向量的欧几里得距离

查找两个节点之间共享的连接节点

如何使用Java Code查找两个ZipCode之间的距离?

使用 awk 以公里为单位查找两个纬度位置之间的距离

使用scipy查找两个阵列的点之间的最短距离

使用opencv查找两个多边形之间的最大和最小距离

如何使用Cypher查找两个节点之间的中间节点

如何查找两个节点之间的路径的名称