文件名称:random-maze-generator:使用UnionFind不相交集和父指针数组来生成随机迷宫的尺寸
文件大小:7KB
文件格式:ZIP
更新时间:2024-06-01 08:32:55
C++
随机迷宫发生器 ======================= 问题描述: 名称:随机迷宫发生器 该程序将使用用户指定的两个维度生成一个随机迷宫。 迷宫生成后,程序将输出哪些墙壁仍保留在迷宫的每个单元中。 问题规范:该程序将使用以下算法自动生成一个随机迷宫:将迷宫视作一个单元格网格,其中每个单元格都由四面围成的墙包围,该四面墙将其与所有相邻单元格分隔开。 随机选择分隔两个单元的墙,如果迷宫中的路径尚未连接两个单元,则将其移除。 继续随机移除两个单元之间的壁(当前尚未通过路径连接),直到所有其他单元都可以到达所有单元为止。 然后在迷宫的一个边缘上随机选择一个单元,在迷宫的相对边缘上随机选择一个单元,并移除其外壁以创建迷宫的入口和出口。 该实现将包括一个Union / Find(DisjSet)类,该类使用通过父指针数组实现对集合的分区形成的树林。 此外,该实施将利用加权联合规则。 使用
【文件预览】:
random-maze-generator-master
----DisjointSets.cpp(1KB)
----Cell.h(5KB)
----main.cpp(7KB)
----README.md(2KB)
----Cell.cpp(2KB)
----DisjointSets.h(2KB)