我正在尝试从文本文件中实现距离矢量路由协议,并且遇到了障碍,因为我的算法没有找到节点之间的新连接。我的节点结构是
public class Node {
int name;
public int[][] connections, via;
Node(int iName, int size) {
name = iName;
connections = new int[size][size];
via = new int[size][size];
}
}
我的搜索算法是
for(int i = 0; i < size; i++){
for(int j = 0; j<size; j++){
if(node.connections[i][j]!=MAX){
for(int k = 0; k < size; k++){
if((node.connections[i][j]+node.connections[j][k])<node.connections[i][k]&&(node.connections[i][j]+node.connections[j][k])>0){
node.connections[i][k] = node.connections[i][j] + node.connections[j][k];
node.via[i][k] = j;
node.via[k][i] = j;
}
}
}
}
}
如果我使用这些参数,我可以让它跟踪节点之间的连接,但仅限于那些最初定义了连接的节点。