如何遍历邻接矩阵?

时间:2011-02-15 11:32:37

标签: java adjacency-matrix

说我生成了以下邻接矩阵

     A B C D E F G H I    
   A 0 1 0 1 0 0 0 0 0
   B 1 0 0 0 0 0 0 0 0
   C 0 0 0 1 0 0 0 0 0
   D 1 0 1 0 0 0 1 0 0
   E 0 0 0 0 0 1 0 0 0
   F 0 0 0 0 1 0 0 0 0
   G 0 0 0 1 0 0 0 0 0
   H 0 0 0 0 0 0 0 0 1
   I 0 0 0 0 0 0 0 1 0

最好的方法是通过确认我可以从G到B吗? 因为

  [G][D] = true
  [A][D] = true
  [A][B] = true

我知道BFS / DFS,但是对于我可以用这个矩阵做什么感到难过,所以我可以为它实现BFS / DFS。

感谢任何帮助,谢谢!

3 个答案:

答案 0 :(得分:2)

如果您只需要查看是否可以使用BFSDFS来访问某个节点。

答案 1 :(得分:0)

使用任何旧图搜索,例如:

答案 2 :(得分:0)

如果您将邻接矩阵自身相乘,您将获得一个矩阵,其中包含长度为2的所有路径,依此类推。

你的矩阵上升到n的幂会显示所有节点之间长度为n的路径数。

当然,如果你只需要两个节点之间的距离,你就不必进行全矩阵乘法。