首页 > 解决方案 > Java 无向图距离计算

问题描述

我将以下矩阵存储在 2d int 数组结果 [] [] 中:

0 1 1 0 0 0
1 0 0 1 0 0
1 0 0 1 1 0
0 1 1 0 0 1
0 0 1 0 0 1
0 0 0 1 1 0

我正在尝试计算是否有任何距离为 2 的节点连接(它们之间有 1 个节点并且没有直接连接)

到目前为止,我有以下代码:Size 是矩阵的大小 (n * n),dis 是我要查找的距离。

for(int row = 0; row < size; row++){
    for(int column = 0; column < size; column++){
        if(dis == 2){
            if((result[row][column] == dis-1 && result[column][column+1] == 1  && result[row][column+1] == 0)){
                if(row != column+1){
                    result[row][column+dis-1] = dis;
                    result[column+dis-1][row] = dis;
                }
            }
        }
      }
     }

但是,例如,如果我尝试将距离更改为 3 或 4,则代码​​并不总是有效且不通用。

标签: java

解决方案


推荐阅读