例如,将BST的前序遍历和顺序遍历从递归转换为迭代是相对直接的。但后订单更难。以下是原始的递归BST遍历函数: Python 3 def traverse_rec(node): # traversal of sub-tree at node.post-order work here: if node.rt:
traverse(node.rt), 我发现了一些递归<
虽然这看起来像是一个重复(也许是,但我还没有找到这个版本的问题的解决方案),但我不认为是这样的。下面是我的递归函数,它打破了python的递归限制,我需要将它改为迭代,但是我遇到了问题,看它是如何可能的。 if cache[n] !(这就是为什么递归杀死python的原因)。我见过人们使用累加器来完成这项工作,但是这里我不会直接返回递归调用的结果,这使得这个想法很难实现。编辑
第一个递