C#中Astar(A *)图搜索数据的结构

时间:2010-12-25 23:03:24

标签: c# algorithm data-structures graph a-star

如何在图搜索类中构建图形/节点?我基本上是创建一个NavMesh,需要生成从1个多边形到另一个多边形的节点。连接两个多边形的边将是节点。

alt text

然后我会在这些节点上运行A *来计算最短路径。我只需要知道如何构建我的类及其属性?

我确信我不需要创建一个带有节点和边缘的完全无向图。

2 个答案:

答案 0 :(得分:3)

在Eric Lippert的博客上查看有关A *算法的this series。除其他事项外,他解释了您需要的数据结构

答案 1 :(得分:3)

A *所需要的是能够获取节点并从中有效地提取其相邻节点的列表。如果你已经有一些数据结构跟踪哪些边是什么多边形那么这似乎很简单;只需编写一个带Edge的函数,然后通过从现有数据结构中提取数据来返回IEnumerable<Edge>