Java 下水道设计的最佳路径
在给定的连通、无向、加权图/网络中,是否有任何算法可以找到源和汇之间的所有路径?Java 下水道设计的最佳路径,java,algorithm,Java,Algorithm,在给定的连通、无向、加权图/网络中,是否有任何算法可以找到源和汇之间的所有路径? 网络由多个源节点和一个汇节点组成。路径应该没有循环我将使用A*算法来实现这一点,与基本路径查找有以下区别 从接收器开始,而不是从源开始,因为只有一个接收器 每个节点都是一组位置,而不是单个位置。在每次迭代中,将所有位置的邻居添加到队列中。还要为所有邻居创建分支,以便在下一组中还有一个位置。作为优化,将最大位置数限制为源数 跟踪您在每条路径中到达的源 行驶成本函数应为所有分支路径组合的总行驶距离 估计函数应结合所有
网络由多个源节点和一个汇节点组成。路径应该没有循环我将使用A*算法来实现这一点,与基本路径查找有以下区别
- 从接收器开始,而不是从源开始,因为只有一个接收器
- 每个节点都是一组位置,而不是单个位置。在每次迭代中,将所有位置的邻居添加到队列中。还要为所有邻居创建分支,以便在下一组中还有一个位置。作为优化,将最大位置数限制为源数
- 跟踪您在每条路径中到达的源
- 行驶成本函数应为所有分支路径组合的总行驶距离
- 估计函数应结合所有剩余的源
如果正确使用A*算法,这将给出最佳路径。如果您查找所有无循环路径,A将完成此工作。在迭代过程中,对于每个当前路径,当它到达路径或接收器上的某个点时,不要继续执行。它看起来类似于。hm,所有路径还是最佳路径?如果是最好的,在什么意义上是最好的?如果你寻找所有路径,那么图是否加权有关系吗?这真的是下水道吗?如果是这样的话,图形是有方向的,因为水只从山上流下来。