Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java无向图距离计算_Java - Fatal编程技术网

Java无向图距离计算

Java无向图距离计算,java,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 &l

我将以下矩阵存储在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;
                }
            }
        }
      }
     }
for(int row=0;row

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

我建议您计算彼此之间有一个跳跃的数字集,以及彼此之间有两个跳跃的节点集,然后返回不在一个跳跃中的两个跳跃的集。为此,我建议Floyd WarshallYou将结果存储在原始数组中?因此,我们可以了解您正在尝试做什么,使用指定的输入,您期望的结果是什么?Floyd Warshall为$O(n^3)$,并找到连通图中所有点之间的最短距离。参见[此处](en.wikipedia.org/Floyd\u-Warshall\u算法)