【发布时间】:2015-11-18 14:43:09
【问题描述】:
想象一下下面的简单图表:
每个实体都有一个从 0 开始的索引(因此 A 的索引为 0,B 的索引为 1,依此类推)。
A 和 B 是相连的,所以它们之间的距离是 1,所以 f.e. A 和 D 之间的距离为 2,因为它们都与 F 相连。
如何在java中实现一个方法,将两个索引和一个距离作为参数,并执行递归回溯,以确定两个给定实体是否在给定距离内可达???
所以,如果我用参数(3,0,2)调用方法,那么它应该返回true,因为3是D,0是A,它们之间的距离是2,所以它是真的。
我尝试过的:
public boolean backtracking(int index0, int index1, int d) {
boolean reachable = relation[index0][index1];
if (d > 0 && !reachable) {
for (int i = index0+1; i <= index1+d; i++) {
backtracking(index0+1, index1, d-1);
}
}
return reachable;
}
我有一个邻接矩阵与二维布尔数组关系中的关系,基于图。
提前致谢
【问题讨论】:
-
到目前为止你写了什么,有什么不足的地方?
-
您尝试过的代码在哪里?
-
我更新了我的问题。
标签: java recursion graph backtracking adjacency-matrix