下水道设计的最佳途径

时间:2010-09-28 09:51:12

标签: java algorithm

在给定的连接,无向,加权图/网络中,是否有任何算法可以找到源和接收器之间的所有路径? 该网络由多个源节点和一个汇聚节点组成。路径应该没有循环

3 个答案:

答案 0 :(得分:1)

我会用A *算法来解决这个问题,但基本路径发现存在以下差异。

  • 从水槽而不是从水源开始,因为只有一个水槽
  • 每个节点是一组位置而不是单个位置。在每次迭代中,将所有位置的邻居添加到队列中。还为所有邻居创建分支,以便在下一组中再有一个位置。将最大位置数限制为源数量作为优化。
  • 跟踪您在每条路径中到达的来源
  • 行走成本函数应该是所有分支路径组合的总行进距离
  • 估算功能应结合所有剩余来源

如果正确使用A *算法,这应该给出最佳路径。

答案 1 :(得分:0)

如果您寻找所有无环路径,breadth-frist search应该可以完成这项工作。在迭代中,对于每个当前路径,只要它到达路径或接收器上已有的点,就不要继续它。

答案 2 :(得分:0)

看起来类似于Minimum Spanning Tree