我必须用Prim算法创建一个迷宫,更准确地说是使用以下算法:(Randomized Prim's algorithm)。 http://en.wikipedia.org/wiki/Maze_generation#Randomized_Prim.27s_algorithm
这个家伙让我烦恼的是,“用来生成六角形迷宫墙的最佳结构是什么?”
编程的初学者如何,也许您已经有更多的经验会知道我指出了一种更合适的结构。
乍一看,我想到了使用矩阵,因为迷宫将具有行X列(例如20x20)number的模式。
有人可以指出我一个结构吗?
我想到了类似的东西:
cell typedef
{
struct cell * above;
struct cell * right_top;
struct cell * lower_right;
struct cell * lower_left;
struct cell * top_left;
struct cell * lower;
} Cell;
最佳答案
1.您应该学习什么是Prim,可以在一些算法书籍或MOOC中学习它。您可以学习DFS,BFS,Prim,这足以解决这个问题。
2.了解Prim之后,您将知道如何设计单元。
在您的代码中:
您只需列出所有方向,重要的是访问它们的顺序和状态。
关于c++ - 使用Prim算法的六角形迷宫,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20985900/