AvoidingPython'sStack我正在尝试多种搜索算法来解决广义AI问题,其中之一是深度优先搜索。我已经将广度优先搜索、贪心搜索和A*搜索从它们的自然递归形式转换为迭代形式,但是在使用深度优先搜索cleanly时遇到了更多麻烦(尽管这并不超出我的能力,我不确定这样做的最pythonic方式,因此问题)。我遇到了CPython的1000次递归调用限制,即使是一些中型问题。后继状态是延迟生成的(_generate_states是生成器,而不是列表),并且需要从初始状态开始的路径。从使用调用堆栈到显式堆栈的最Pythonic方式是什么?堆栈中应该存储多少信息?回溯时(当没有状态返回非空列表