【问题标题】:Complex pathing route复杂的路径
【发布时间】:2009-12-11 06:02:52
【问题描述】:
                      L->|
  A -> B              ^  |
  |__> C -> D-> G->X--|  |
       K    |_> T  |  |_>Z
       |___________|

我希望这张小图能帮助传达我想要做的事情。

我有一个包含 7,000 个位置的列表,每个位置都有一个未定义但数量很少的门。每扇门都是两个地点之间的桥梁。

参考上图,我将如何找到通过门从 A 到 Z 的最快路线?

我不需要完整的源代码,只需要伪代码就可以了。

显然你可以取 A -> B ->C -> D -> G -> X -> L -> Z, 但最短的路线是 A -> B -> C -> K -> X -> Z。

【问题讨论】:

  • 未定义是指动态吗?

标签: c# algorithm math


【解决方案1】:

在图中将您的位置表示为节点,将门表示为边。然后应用一些相当标准的shortest path algorithm(s) 就完成了。

【讨论】:

    【解决方案2】:

    在 Wikipedia 上查找 Pathfinding 算法。你基本上建立了一系列节点和它们之间的连接,算法通过它们找到从开始到目标的方法。

    【讨论】:

      【解决方案3】:

      您可以假设每个房间是一个节点,每个门都是一个节点,问题将变成在图中找到最短路径,例如您可以使用Dijkstra's algorithm 找到

      【讨论】:

        猜你喜欢
        • 2013-11-20
        • 1970-01-01
        • 2016-02-11
        • 2023-04-04
        • 2020-09-24
        • 1970-01-01
        • 2017-06-04
        • 2019-03-07
        • 2016-03-31
        相关资源
        最近更新 更多