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

Algorithm to add weights in a directed graph (using adjacency matrix)

我为我在 Paint 中制作的糟糕图表道歉。

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

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

示例:

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

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

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

让我们为您提供的这张图取邻接矩阵,它看起来像这样 让 INF 成为一个不存在的 link.

   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 表示不存在 link。

到那时,求和一条路径的权重就非常简单了。