Graph 我应该使用什么寻路算法?

Graph 我应该使用什么寻路算法?,graph,dijkstra,path-finding,Graph,Dijkstra,Path Finding,我有一个带有我需要访问的节点集的图表(城市地图)。我需要创建一条最佳路线,所以我使用了dijkstra算法。问题是,这个算法是为了找到从一个节点到另一个节点的最佳路由,这对我来说是不够的,因为我在这一过程中存在差异。例如: 红色的路径是我从Dijkstra算法得到的路径(从a节点到c节点),但如果我也想访问节点b,我不知道该怎么做。那么,有什么算法适合我的情况吗?Dijkstra找到两个给定节点之间最短(或最便宜)的路径。如果要访问更大的节点集,请查看 在经典TSP中,必须访问图中的所有节点。

我有一个带有我需要访问的节点集的图表(城市地图)。我需要创建一条最佳路线,所以我使用了dijkstra算法。问题是,这个算法是为了找到从一个节点到另一个节点的最佳路由,这对我来说是不够的,因为我在这一过程中存在差异。例如:


红色的路径是我从Dijkstra算法得到的路径(从a节点到c节点),但如果我也想访问节点b,我不知道该怎么做。那么,有什么算法适合我的情况吗?

Dijkstra找到两个给定节点之间最短(或最便宜)的路径。如果要访问更大的节点集,请查看

在经典TSP中,必须访问图中的所有节点。我不知道你的子集问题是否有一个名字,但是你可以使用Dijkstra来找到每对要访问的城市之间的最短路径,将你的访问从九个城市中的三个减少到TSP处理的简单的访问三个城市

TSP的强力解决方案是O(n!),这对于访问少量节点来说并不太糟糕。存在更快的算法,但它们要先进得多,而且它们并不完全快(O(n22n))。找到多项式时间算法会让你名垂青史