Javascript 给定边权时两个火车站之间的最短路径
我得找出火车站之间最短的距离- 给定的是代表火车站的节点,边被视为距离。我必须计算最小距离。我使用的逻辑有一些错误 这是我试过的代码。但我没有得到两点之间的最短路径。 要实现它:console:var e=新的计算路线(“1”,“3”,步数)解决方案应给出1和3之间的最小距离。。。。。例如,可能有一个从1到2的路径具有wgt 5,而从2到3的路径具有wgt 4总计为9。wgt 10在1到3之间可能有一条直接路径。然后应选择第一个路径Javascript 给定边权时两个火车站之间的最短路径,javascript,optimization,Javascript,Optimization,我得找出火车站之间最短的距离- 给定的是代表火车站的节点,边被视为距离。我必须计算最小距离。我使用的逻辑有一些错误 这是我试过的代码。但我没有得到两点之间的最短路径。 要实现它:console:var e=新的计算路线(“1”,“3”,步数)解决方案应给出1和3之间的最小距离。。。。。例如,可能有一个从1到2的路径具有wgt 5,而从2到3的路径具有wgt 4总计为9。wgt 10在1到3之间可能有一条直接路径。然后应选择第一个路径 steps=[ {from:1, to:8},
steps=[
{from:1, to:8},
{from:1, to:2},
{from:2, to:7},
{from:7, to:9},
{from:8, to:9}
];
function calc_route(start, end, data)
{
console.log(start+", "+end);
console.log(data);
for(var i=0; i<data.length; i++)
{
if(data[i].to == end && data[i].from == start)
{
console.log("Return");
console.log(data[i]);
return data[i];
}
else
{
if(data[i].from == start)
{
calcfor = data.splice(i, 1);
calc_route(calcfor[0].topoint, end, data);
}
}
}
}
步骤=[
{从:1到:8},
{从:1到:2},
{从:2到:7},
{从:7到:9},
{从:8到:9}
];
功能计算路径(开始、结束、数据)
{
console.log(开始+”,“+结束);
控制台日志(数据);
对于(var i=0;i,您应该看看Dijkstra的算法
在javascript中找到它的一个实现,并重用已经测试过的代码。似乎您需要实现的是A*算法。。。
一个快速的谷歌会给你很多已经实现的结果。这不是一个家庭作业。我一直在尝试自己解决它…………这是djkshrtas算法的一个例子这是你今天早些时候问的问题的完全重复,从你的帐户历史来看,现在已经删除了。这不是Stac想要的行为k溢出用户。如果你一定读过那边的评论…这个问题对任何人都不清楚。我试图自己编写代码。但当没有发生这种情况时,我用更好的方式重新定义了我的问题way@Sree-你缺少先决知识。我建议你先自学Dijkstra的SSSP算法-用笔和纸来完成它。I在javascript@Phillip中找不到任何经过测试的代码Nordwall@Sree,尝试阅读其他人用其他语言实现的代码并理解它,然后尝试使用相同的想法来编写javascript代码。如果您对原始版本有任何疑问,例如,代码的某些部分做了什么,请随意提问。