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

标签 java algorithm matrix graph graph-theory

我有一个项目,它从外部文件中读取一些语句,并使用邻接矩阵将它们存储到加权边有向图中。例如:A有B、C、D,B加C、A、D等。一开始程序从文件中读取语句时,在主类中分别存入两个ArrayList,一个用于节点,一个用于节点。一个用于边缘。经过一些操作后,全部添加到图中。

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

最佳答案

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

关于java - 如何使用邻接矩阵查找节点是否连接在边加权图上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29745543/

相关文章:

java - 如何配置 GlassFish 日志记录以在时间戳中显示毫秒?

java - GridBagLayout:仅当我横向扩展 JFrame 时 JPanel 才会出现

algorithm - 最小搜索的非递归版本

algorithm - 解释为什么这个算法不能保证互斥

c - 解决数谜谜题

java - 如何确定 setMaxTotal 和 setDefaultMaxPerRoute 的最佳设置?

java - 尝试访问 Java CSV 列时出现问题

math - 4x4 矩阵如何在 3d 图形中工作?

python - Numpy 追加到矩阵

arrays - 为什么我的矩阵值在 C 中消失了?