如何在网格中查找路径块

时间:2015-09-30 14:53:51

标签: java algorithm

我有一个9x9格的网格。那些正方形是用整数数组写的。 所以每个整数代表1个块。如果可以访问此块和其他数据,则整数为X,Y位置提供足够的位。我有一个问题:如果我们可以从这个网格的中心到某个随机点,那么获得布尔值的最有效方法是什么。所以例如我为我想去的块提供X和Y位置,如果有一些通过ACCESSIBLE块的方法,方法将返回布尔值。我为此做了一个简单的图片。谢谢你的回答。Can i get from blue to green trough white

2 个答案:

答案 0 :(得分:2)

问题可以通过depth-first search来解决,其具体实现在很大程度上取决于网格的表示,该网格将被解释​​为graph

答案 1 :(得分:2)

你在这里描述的是一个名为pathfinding的计算机科学中众所周知的问题,并且不能有效地解决这个问题。

但是,有几种算法可以解决这个问题,例如A*Dijkstra,它们可能是大型复杂地图的理由。

如果您的所有问题都与发布的示例一样小而且简单,您也可以尝试使用更简单的解决方案,例如强力图搜索(as suggested by Codor)。