Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/354.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 具有多个可能端点的二维路径查找?_Java_Path Finding_Endpoints - Fatal编程技术网

Java 具有多个可能端点的二维路径查找?

Java 具有多个可能端点的二维路径查找?,java,path-finding,endpoints,Java,Path Finding,Endpoints,我想用Java做路径查找。然而,我觉得这是一个单独的问题 我在做游戏。路径查找需要能够处理多个可能的端点。我发现的所有路径查找算法和教程只有一个端点 这种改变是很容易调整到已经存在的代码中,还是我最好从头开始编写自己的代码?如果您使用的是A*,但图形中有多个顶点可以被视为目标,您可以估计到每个目标的距离,并使用最小值A*只要你不高估到目标的真实距离就行 然而,这种特殊行为可能会导致您编写自己的A*实现。它不是很多代码;对于一个大学生来说,可能有一两天的家庭作业,IIRC。如果你使用的是a*,但你

我想用Java做路径查找。然而,我觉得这是一个单独的问题

我在做游戏。路径查找需要能够处理多个可能的端点。我发现的所有路径查找算法和教程只有一个端点


这种改变是很容易调整到已经存在的代码中,还是我最好从头开始编写自己的代码?

如果您使用的是
A*
,但图形中有多个顶点可以被视为目标,您可以估计到每个目标的距离,并使用最小值<代码>A*只要你不高估到目标的真实距离就行


然而,这种特殊行为可能会导致您编写自己的
A*
实现。它不是很多代码;对于一个大学生来说,可能有一两天的家庭作业,IIRC。

如果你使用的是
a*
,但你的图形中有多个顶点可以被视为目标,你可以估计到每个目标的距离,并使用最小值<代码>A*只要你不高估到目标的真实距离就行


然而,这种特殊行为可能会导致您编写自己的
A*
实现。它不是很多代码;对于一个大学生来说,可能需要一两天的作业,IIRC。

我对游戏了解不多,但它是一个多端点最短路径算法。

我对游戏了解不多,但它是一个多端点最短路径算法。

有点过火了;它将为您提供所有可能的配对。这是其中的N*(N-1),有点过分;它将为您提供所有可能的配对。这是其中的N*(N-1)个。确实有效。A*基本上是做Dijkstra的一种改进方式;它优化了常见的典型案例。如果两个目标与出发点相反,可能会有点慢。你会快速进步到一个点,然后需要检查另一边的很多点。但这是不可避免的。这确实有效。A*基本上是做Dijkstra的一种改进方式;它优化了常见的典型案例。如果两个目标与出发点相反,可能会有点慢。你会快速进步到一个点,然后需要检查另一边的很多点。但这是不可避免的。