Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java A*实现导致两个连接节点_Java_Path_Dijkstra_A Star_Finder - Fatal编程技术网

Java A*实现导致两个连接节点

Java A*实现导致两个连接节点,java,path,dijkstra,a-star,finder,Java,Path,Dijkstra,A Star,Finder,我试着在谷歌和stackoverflow上搜索类似的问题,但没有找到 我对A*的实现是有效的,但是,当收集从开始节点到结束节点的路径时,它只是在相互连接的两个节点之间循环(我可以从节点A到节点B,也可以从节点B到节点A) 我遵循了wikipedia的A*实现,但当我创建Dijksta算法时,它使用了同样的方法,工作得非常完美——所以我不明白为什么不是这样 我当前的输出是: Node: 3093, Node: 3085, Node: 3093, Node: 3085, Node: 3093

我试着在谷歌和stackoverflow上搜索类似的问题,但没有找到

我对A*的实现是有效的,但是,当收集从开始节点到结束节点的路径时,它只是在相互连接的两个节点之间循环(我可以从节点A到节点B,也可以从节点B到节点A)

我遵循了wikipedia的A*实现,但当我创建Dijksta算法时,它使用了同样的方法,工作得非常完美——所以我不明白为什么不是这样

我当前的输出是:

Node: 3093, 
Node: 3085, 
Node: 3093, 
Node: 3085, 
Node: 3093, 
Node: 3085, 
Node: 3093, 
... repeated
有人知道为什么它不能正确地存储.from吗?
此外,我还想存储程序通过的边,以获得成功的路径-有人知道我将如何做到这一点吗?我可以简单地实现一个将添加正确边缘的存储吗?

其中有带有注释的for循环: “//如果邻居在闭合集中,移动到下一个邻居”break语句将中断for循环,并继续计算邻居,即使它在闭合集中


在此处设置布尔值并继续while将至少解决该问题。

啊,谢谢,已经解决了!我没有注意到我的休息并不像我想象的那样!伟大的很高兴我能帮忙。