Javascript 给定边权时两个火车站之间的最短路径

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},

我得找出火车站之间最短的距离-

给定的是代表火车站的节点,边被视为距离。我必须计算最小距离。我使用的逻辑有一些错误

这是我试过的代码。但我没有得到两点之间的最短路径。 要实现它: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},
    {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代码。如果您对原始版本有任何疑问,例如,代码的某些部分做了什么,请随意提问。