Основываясь на примерах, которые я могу найти для scipy graph_search, кажется, что он принимает форму NxN для входного графа, где пара индексов графа равна этому значению.
так что матрица
G = [ [0,5,2],
[3,0,8],
[12,7,0] ]
означает, что вес ребра 2->1
является значением индекса G[1,0] = 3
Если это неправильно, пожалуйста, объясните.
Проблема, с которой я сталкиваюсь, заключается в эффективном вводе соединений узлов таким образом, начиная со словаря, где ключ — это узел, а значение — массив связанных узлов.
{'node1' : [node2,weight1],[node3,weight2]}
где ребро node1->node2 = weight1
Я могу перебирать цикл ключей и создавать новый массив [ [node1,node2,,weight1],[node1,node3,weight2] ]
, но это также не приближает меня к формату scipy. Есть ли простой способ сделать это преобразование либо из словаря, либо из повторяющегося массива, который я могу сделать?