矩阵最短路径与跳跃点

时间:2015-08-31 09:30:19

标签: c# .net

我有一个随机矩阵,例如:

3  A  6  8
9  2  7* 1
6  6  9  1
2  #3 4  B

我需要找到从AB的最短路径。 *#标记是跳跃点。如果您使用*标记的号码,则可以跳转至#标记的号码。

我在这周围想了很多,但无法解决。 我怎么能做到这一点?

1 个答案:

答案 0 :(得分:4)

如果矩阵中的值是一个字段到另一个字段的移动成本,则您需要的算法是A*。维基百科为您提供了一些伪代码,但如果您询问Google,您会发现每种语言都有大量示例实现。

如果移动成本总是相同,那么它也是A *算法,但在特殊情况下它是Dijkstra's algorithm

A *基本上是Dijkstra的算法,并考虑改变运动成本。