我需要一个最简单的数据结构实现,可以在父-子和子-父方向上遍历;因此理想情况下,子节点应该也持有对父节点的引用。
考虑使用字典,其中子节点只需简单地保存对其父节点的引用,类似于以下示例:
考虑使用字典,其中子节点只需简单地保存对其父节点的引用,类似于以下示例:
# define the root node
a = {'name': 'trunk', 'value': 0, 'parent': None, 'children': []}
# add child
a['children'].append({'name': 'branch-1', 'value': 1,
'parent': a, 'children': []})
# and so on...
这样做安全吗?(循环引用可能会影响垃圾回收?)这么做有意义吗?有更简单的方法吗?
ElementTree
对象(我只能使用stdlib版本。没有父引用 :( ),以便能够查看几个父节点以交叉检查依赖关系。话虽如此,我仍然喜欢你的答案,也许是因为我试图过于努力地避免使用类... - undefined