如何将加权无向图显示为二维数组(矩阵形式)?

时间:2014-01-30 23:49:34

标签: java graph matrix weighted

enter image description here

大家好,试着在这里做一个实验室,但是我无法理解如何在三个矩阵(G,右)中显示图中的节点(左)。我不是在看如何在java中打印矩阵。

它说:

  

这里,每个节点i和j之间的边缘由数字表示   表示边缘重量。在图中,节点之间的边缘   在第1行第3列可以看到1和3,其值为2。

2 个答案:

答案 0 :(得分:2)

在这种情况下,节点是矩阵的索引。您必须了解java中基于零的索引,因此节点1实际上位于[0,0]位置等。

  

节点1和3之间的边缘可以在第1行第3列看到并且值为2   表示边缘权重为2且在[0,2]中,并且因为图也在[2,0]中是无向的。

请注意,表示无向图的矩阵是转置的。

答案 1 :(得分:1)

每个节点都有一个索引(从0开始)。在这种情况下,节点1具有索引0,节点2具有索引1,并且节点3具有索引2.要查找具有索引i的节点和具有索引j的节点之间的权重,请查看在G[i][j]

例如,要查找节点1和节点3之间的权重,请查看矩阵条目G[0][2],即2。

因为它是一个无向图,所以哪个节点是起点并且哪个节点是结束并不重要,所以矩阵的上半部分与下半部分相同。