如何读取此图输入并放入邻接矩阵?

时间:2014-08-18 15:55:45

标签: python matrix graph adjacency-matrix floyd-warshall

我很困惑,并试图找出如何将此图数据放入邻接矩阵。

这是来自文本文件的一些示例输入:

0 1,28 3,33
1 2,10 4,44
2 3,50
3 4,30
4 

这是矩阵的外观

  0   1   2   3   4
0 INF 28  INF 33  INF
1 28  INF 10  INF 44 
2 INF 10  INF 50  INF 
3 33  INF 50  30  INF  
4 INF 44  INF INF INF

这将是某种多维数组,但我迷失在如何将输入转换为一个。任何帮助,将不胜感激。

我在python工作。

谢谢!

1 个答案:

答案 0 :(得分:0)

这很直接,

表示x x1,y1 x2,y2输入

这意味着

  

x和x1之间有一个边,值为y1,边x和x2,值为y2。

要解析它,请执行此操作

  

1:使用空格分隔符分割数据集   2:结果数组中的第一个元素是节点(x)   3:对于i(1到n),用逗号(,)进行拆分,它将给出一个包含两个元素的数组,第一个元素是节点(x1),第二个元素是距离y(1)。
  4:要为每对设置矩阵值,mat [x,x1] = y1

编辑 看来你的图表是一个无向的garph。所以对于每一对,你必须做

  

垫[X,X 1 = Y 1
  垫[X1,X] = Y1