Я создал n-арное дерево, используя python. Древовидная структура выглядит следующим образом:
class Tree:
def __init__(self, data=None):
self.data=data
self.child=[]
Я хочу заменить узел в дереве. Я использую обход предзаказа, чтобы найти узел для замены. Ниже приведен код для замены узла.
def replace(self, root, node):
if root is not None:
if root.data == node.data:
root=node
root.child=node.child
return
for i in range(0,len(root.child)):
self.replace(root.child[i], node)
В функции замены узел - это новый "узел", который я хочу заменить в дереве с корнем в "root".
Приведенный выше код не заменяет узел. до и после замены, дерево одно и то же.
Любая помощь приветствуется!