如何使用邻接矩阵查找节点是否在边加权图上连接

时间:2015-04-20 10:37:27

标签: java algorithm matrix graph edge

我有一个项目,它从外部文件中读取一些语句,并使用邻接矩阵将它们存储到加权边缘有向图中。例如:A有B,C和D,B加C,A和D等。当开头的程序从文件中读取语句时,它们被存储到主类中的两个ArrayLists中,一个用于节点和一个边缘。经过一些操作后,所有操作都会添加到图表中。

我现在遇到的问题是如何检查图中的节点是否已连接,如果是,如何在主类中显示它们的权重。我听说我可以使用广度优先搜索或深度优先搜索但不知道如何使用加权边缘以及由字符串而不是整数构成的节点和边缘来实现它们。

1 个答案:

答案 0 :(得分:2)

BFS的加权版本称为Dijkstra's algorithm。它应该找到从原点到所有其他顶点的最短路径。伪代码在维基百科页面中给出,您可以从给定的伪代码实现它,这将更容易。