我需要一个数据结构的最简单的实现,它可以在父对象->子对象和子对象->父对象方向遍历;因此理想情况下,子对象也应该包含对父对象的引用。在
我在想一本字典,孩子们可以简单地引用他们的父母,类似于这样:
# 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...
这样做安全吗?(循环引用可能会影响垃圾回收?)这样做有意义吗?什么更简单?在
一个简单的树(节点)类,可以双向遍历:
你可以创建一个节点类。在
基本的结构应该是这样的,不过老实说,你也可以用dicts来实现。只是我个人觉得课程看起来更干净。在
剩下的取决于你的需要。您可能希望将一些函数内置到类中(或者如果使用哈希,则在脚本中作为方法构建)
已删除父节点。在
如果您想方便地引用节点的特定部分,可以将hash_映射作为一种目录
^{pr2}$如果需要的话,上面的内容将允许您轻松地深入到特定的节点中。在
顺便说一句,删除树或哈希映射中引用的节点将使垃圾回收成为一个不成问题的问题。在
相关问题 更多 >
编程相关推荐