如何解决如何在稀疏矩阵中找到最短路径的权重
我需要在稀疏矩阵中找到从一个节点到其他节点的最短路径(基于边的数量),然后计算最短路径上边的权重之和。 我正在使用 scipy.sparse 但我不知道如何计算路径的权重。
from scipy.sparse import csr_matrix
from scipy.sparse.csgraph import shortest_path
...
graph = csr_matrix(graph)
...
dist_matrix,predecessors = shortest_path(csgraph=graph,directed=False,indices=0,return_predecessors=True)
def _get_path_length(predecessors,target):
lngth = 1
end = target
while predecessors[end] != -9999:
lngth = 1 + lngth
end = predecessors[end]
return lngth
for idx,val in enumerate(lngth):
path_length = _get_path_length(predecessors,idx)
lngth[idx] = path_length
path_weighs [idx] = dist_matrix[idx] / path_length
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。