我会使用A*算法来处理这个问题,与基本的路径查找有以下不同之处: 从汇点开始而不是源点开始,因为只有一个汇点 每个节点是一组位置而不是单个位置。在每次迭代中,将所有位置的邻居添加到队列中。还要为所有邻居创建分支,以便下一组中将有一个以上的位置。将最大位置数限制为源点数作为优化。 跟踪已经到达的每条路径中的源点 行进成本函数应该是所有分支路径组合后的总行进距离 估计函数应该结合所有剩余的源点 如果正确使用A*算法,则可以得到最佳路径。