在有向图中添加权重的算法(使用邻接矩阵)

时间:2015-09-15 21:12:51

标签: java algorithm directed-graph adjacency-matrix

enter image description here

我为我在Paint中制作的可怕图表道歉。

无论如何,我很难想出一个如何在图表中添加权重的方法。

任何人都可以(使用伪代码)提供有关如何解决此问题的一些见解。我已经考虑过使用方法重载,但它并不适用于所有情况。我完全卡住了。请记住,我使用的是邻接矩阵,而不是列表。谢谢!

示例:

从节点1到节点2到节点3的距离= 6

从节点1到节点2到节点3到节点4的距离= 8

从节点1到节点2到节点3到节点4到节点2到节点3的距离= 18

1 个答案:

答案 0 :(得分:4)

让我们看一下你提供的这个图的邻接矩阵,它看起来像这样 让INF成为一个不存在的链接。

   1   2   3   4
1 INF  3  INF  3 
2 INF INF  3  INF
3 INF INF INF  2
4 INF  7  INF INF

它存储了有关图形的所有相关信息,并提供了一些非常简单的算法。要获得从节点x到y的特定边的权重,只需取AdjacencyMatrix[x][y]。要么是权重,要么INF表示不存在链接。

此时,总结路径的权重非常简单。