【发布时间】:2012-10-24 21:44:55
【问题描述】:
我有一个递归方法,用于遍历一棵红黑树,并存储各种节点信息(在列表storage 中)。
def _walk (self, storage, func, starting_node) :
if starting_node is not self._nil :
self._walk(storage, func, starting_node.left)
storage.append(func(starting_node))
self._walk(storage, func, starting_node.right)
但是,我想重新实现这个方法,以便它构建一个生成器(据我了解,这应该可以节省时间和内存)。这样做的“最佳”方式是什么?
【问题讨论】:
-
我认为它不会为您节省太多 - 除非您打算将存储作为生成器而不是列表。
-
gnibbler,这正是我的意思。感谢您让我澄清。
标签: python recursion iterator generator