我已经为项目编码了A *算法。该项目的要求之一是随机生成50个迷宫。
我有点困惑,因为这与正常的迷宫时代不同。在几代迷宫中,您已阻塞和未阻塞的墙,而就我而言,我需要已阻塞和未阻塞的砖。它也不是完美的(应该有多个路径)。我实际上还无法在线找到适合这种情况的算法或说明。做到这一点的最佳方法是什么?如果可能的话,我还想指定一个起点+终点,否则就只能指定一个起点。谢谢!
这是我手动生成的迷宫示例(较小规模):
答案 0 :(得分:1)
答案 1 :(得分:1)
您可以使用联合查找数据结构来执行此操作,类似于使用Kruskal算法生成迷宫:
现在从头到尾都有一条路径。如果您想确保迷宫更加开放,则可以保持随机解锁,直到至少有70%的解锁。
结果看起来不太像传统的迷宫,但可能对A *测试很有用。