【发布时间】:2015-02-04 11:41:39
【问题描述】:
我做了三维数组,我想搜索从y点到x点的最短路径。我不知道我应该使用什么算法(Dijkstra或 A*)。 移动可以-上下左右
public class Test {
public static void main(String[] args) {
String[][][] Station = new String[5][5][5];
String[] p = {"I","II","III","IV","V"};
String[] s = {"a","b","c","d","e"};
String[] po = {"1","2","3","4","5"};
fillArray(Station,p,s,po);
String x = Station[3][0][2];
String y = Station[3][0][2];
}
static void fillArray(String[][][] Station, String[] p,String[] s,String[] po) {
for (int i = 0; i < 5; i++) {
for (int k = 0; k < 5; k++) {
for (int g = 0; g < 5; g++) {
Station[i][k][g] = p[i];
Station[i][k][g] += s[k];
Station[i][k][g] += po[g];
}
}
}
}
}
总结一下我想以最短的方式在控制台中打印(例如 IIIa2,IIa2)
【问题讨论】:
-
up down left right够三个维度吗?你的距离/成本函数是什么?最短路径在哪里开始和结束? -
我不明白,如果你只有四种移动类型,这个3D怎么样?你也必须有来回!
-
对不起,我忘记了。是的,可以上下左右移动!