如何检查我的 Aldous-Broder 算法是否完成?

How do I check if my Aldous-Broder algorithm is done?

我在 Java 中实现了这个算法,我理解这个算法,但我不知道什么时候应该停止它。有什么条件我可以检查以实现吗?顺便说一句,我正在实现一个迷宫生成器。

您跟踪剩余的图块。假设您的迷宫大小为 (n,m),然后将计数器设置为 n*m - 1 并为访问的任何新图块减少它,如果为 0,则您完成了。