发电机我有我使用走在红黑树,和存储各种节点信息(列表中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,这正是我的意思。感谢让我澄清。 – rectangletangle