问题描述
自己动手。例如,仅将树建模为列表列表。在人们可以提供更好的建议之前,您应该详细说明您的特定需求。
为了回答Hellogoodbye的问题,这是一个迭代树的示例代码。
def walk(node):
""" iterate tree in pre-order depth-first search order """
yield node
for child in node.children:
for n in walk(child):
yield n
一个陷阱是,这种递归实现是O(n log n)。它适用于我必须处理的所有树木。也许Python 3中的子生成器会有所帮助。
解决方法
我正在寻找一个好的Tree数据结构类。我遇到过这个软件包,但是由于我是Python的新手(不是编程人员),所以我不知道是否有更好的软件包。
我想在这里听到来自Pythonista的消息-您是否有喜欢的树脚本经常使用并会建议使用?
[编辑]
为了澄清,用“树”来表示,是指一个简单的无序树(嗯,这是一个递归定义,但希望可以使情况有所澄清)。关于我需要的树(即用例)。我正在从一个平面文件中读取树数据,我需要从该数据构建一棵树并遍历树中的所有节点。