【发布时间】:2013-11-05 17:51:26
【问题描述】:
大家好——我是一名编程新手,这里有以下非常简单的代码:
def postorder(T):
if T != None:
postorder(T.left)
postorder(T.right)
print T.data,
我想要的不是打印遍历,而是让函数将该信息存储在数组或类似的东西中,这样我就可以将该信息用于其他事情
【问题讨论】:
-
Aaron:请注意,python 的(默认)限制为 2000 帧。这意味着任何递归解决方案都会在大输入时出现 StackOverflowError。这就是为什么我总是对非递归堆栈/队列解决方案进行第二步重构。
-
@bukzor 即使没有完美平衡的二叉树,您也更有可能在堆栈帧用完之前耗尽内存
-
@Izkata:长度为 3000 的链表(又名完美不平衡树)将很容易适应内存。在我的粗略资料中,它花了 22MB。
标签: python list tree tree-traversal