我无法弄清楚以下问题。在第 1 点我可以到第 2 点或第 5 点。从点到我可以到第 3 或第 4 点。从第 5 点我可以到第 6 或第 7 点。从第 7 点到第 9 点只有一条路径。我想计算所有完整路径。我不是在寻找最快的路线或任何东西。我需要以一种我可以轻松遵循它们的方式存在的所有路径。
我有两个问题:
我不确定我是否使用正确的方式来“存储”选项(a[1]=[2,5])。这可以吗还是有更好的方法?
我不知道如何解决这个问题。谁能给我一个线索?我希望我在寻找正确的方向:-)
路径:
1 ->2 ->3
->4
->5 ->6
->7 ->8 ->9
和期望的结果:
1,2,3
1,2,4
1,5,6
1,5,7,8,9
我尝试在 javascript 中解决这个问题
// this doesn't do what I need
var a = [];
a[1]=[2,5];
a[2]=[3,4];
a[5]=[6,7];
a[7]=[8];
a[8]=[9];
trytoloop(a,1);
function trytoloop(a,key){
if(a[key]){
for (var y in a[key]){
document.write(key);
trytoloop(a,a[key][y]);
}
} else {
document.write(key);
}
}