【发布时间】:2017-04-12 23:43:37
【问题描述】:
我正在做一个学校项目,给我一个无向图 G,并且应该在 G 中找到最小生成树。我想我会使用来自 Scipy (https://docs.scipy.org/doc/scipy-0.14.0/reference/generated/scipy.sparse.csgraph.minimum_spanning_tree.html) 的 minimum_spanning_tree。但要做到这一点,我必须给它一个 array_like 或稀疏矩阵,二维。 像这样:
x_right=
([[0, 2, 0],
[2, 0, 5],
[0, 5, 0]])
在项目中,我应该采用如下结构的邻接列表:
x_input=
{'A': [('B', 2)],
'B': [('A', 2), ('C', 5)],
'C': [('B', 5)]}
试一试...有,看看 minimum_spanning_tree 是否给出了我想要的结果,我通过手动将 x_input 更改为 x_right 来运行它,我得到的输出为:
(0, 1) 2.0
(1, 2) 5.0
这是我想要的,但我应该以与 x_input 相同的格式返回输出。
我一直在尝试各种方法(其中之一是 DictVectorizer - ValueError: could not convert string to float: 'B'... like in other cases)很长时间,我认为是时候寻找帮助。
所以归结起来,您对如何从 x_input 创建适合 minimum_spanning_tree 的矩阵有什么建议(以及如何再次将结果转换为 x_input 格式)。
谢谢
【问题讨论】:
标签: python dictionary matrix minimum-spanning-tree