Вы используете атрибуты класса, где вы должны использовать атрибуты экземпляра.
class Node:
def __init__(self, key, val):
self.key = key
self.val = val
self.children = []
self.parent = None
root = node(50, 50)
child = node(20, 20)
child.parent = root
root.children.append(child)
Вы можете изменить __init__
, чтобы упростить построение дерева.
class Node:
def __init__(self, key, val, parent=None):
self.key = key
self.val = val
self.parent = parent
if parent is not None:
parent.children.append(self)
root = node(50, 50) # sets root.parent = None
child = node(20, 20, root) # sets child.parent = root and adds child to root.children