能否采用Eller's Algorithm或Recursive Division求解迷宫?
关于用Eller's Algorithm和Recursive Division求解迷宫的疑问解答
Eller's Algorithm
这个算法本质是按行迭代生成迷宫的工具,核心逻辑是动态维护单元格的连通集合,通过合并集合、设置墙壁来构建无环的迷宫结构。它从设计之初就没有考虑路径搜索的需求——生成过程中只关注整体连通性,不会记录任何起点到终点的路径轨迹。你修改后得不到理想结果,根源在于强行把一个“造迷宫”的算法套上“找路径”的逻辑,两者的核心目标完全不匹配,自然无法输出正确的求解结果。Recursive Division(递归分割)
同样是专属的迷宫生成算法,它的思路是不断将当前区域分割为更小的子区域,同时在分割墙上留缺口保证整体连通性。这种“分割空间构建迷宫”的逻辑,和路径搜索“在已有空间中探索通路”的需求完全相悖。网上找不到它用于迷宫求解的资料,就是因为它没有任何天然适配路径搜索的特性,从逻辑上就不适合用来做求解,几乎不会有人尝试这种方向。
简单总结:Eller's Algorithm和Recursive Division都是专为迷宫生成设计的算法,它们的核心围绕“创建合理的迷宫结构”展开,而非“在已有迷宫中寻找两点通路”。如果要实现迷宫求解,建议直接使用专门的路径搜索算法,比如深度优先搜索(DFS)、广度优先搜索(BFS)、A*算法等,这些算法才是针对路径搜索场景设计的,适配性和效率都远高于强行改造生成算法。
内容的提问来源于stack exchange,提问作者Fahad
相关产品推荐
相关产品推荐

