所以我很喜欢泡菜。当我第一次创建我的 DFS 算法时,我使用了递归。这导致出现 StackOverflow 错误。好吧...没什么大不了的,我只是将其转换为迭代。因此,我将代码转换为迭代,并使用 Stack 来复制方法调用。但是,现在我遇到了 OutOfMemoryError。
我实际上刚刚发现了我的问题,存在循环依赖。(愚蠢的我)但是,我很好奇如果没有循环依赖,其他人会如何处理这个问题。我还应该提到这是在 Java 中。
我的问题几乎是当您知道自己没有无限循环但由于 DFS 搜索中的堆栈而遇到 OutOfMemoryError 时该怎么办。