请问有没有大神会这个问题,或者给点思路!!抱拳!!!
有oldtree和newtree,我已经对两棵树的节点进行了最大程度的对齐了,获得了mapping字典,现在怎么根据oldtree,newtree和对齐字典mapping合并这两个树
!!!
————————————————————
下面是数据初始化的代码
class Node: def __init__(self, value, children=None): self.value = value if children is not None: self.children = children else: self.children = [lbk][rbk]
def set_children(self, children): self.children = children
old_node_a = Node('a')old_node_b = Node('b')old_node_c = Node('c')old_node_d = Node('d')old_node_e = Node('e')old_node_f = Node('f')old_node_c.set_children([lbk]old_node_b[rbk])old_node_d.set_children([lbk]old_node_a, old_node_c[rbk])old_node_f.set_children([lbk]old_node_d, old_node_e[rbk])new_node_a = Node('a')new_node_b = Node('b')new_node_c = Node('c')new_node_d = Node('d')new_node_e = Node('e')new_node_f = Node('f')new_node_d.set_children([lbk]new_node_a, new_node_b[rbk])new_node_c.set_children([lbk]new_node_d[rbk])new_node_f.set_children([lbk]new_node_c, new_node_e[rbk])old_tree = old_node_fnew_tree = new_node_fmapping = {old_node_f: new_node_f, old_node_e: new_node_e, old_node_d: new_node_d, old_node_a: new_node_a, old_node_b: new_node_b}

有oldtree和newtree,我已经对两棵树的节点进行了最大程度的对齐了,获得了mapping字典,现在怎么根据oldtree,newtree和对齐字典mapping合并这两个树


————————————————————
下面是数据初始化的代码
class Node: def __init__(self, value, children=None): self.value = value if children is not None: self.children = children else: self.children = [lbk][rbk]
def set_children(self, children): self.children = children
old_node_a = Node('a')old_node_b = Node('b')old_node_c = Node('c')old_node_d = Node('d')old_node_e = Node('e')old_node_f = Node('f')old_node_c.set_children([lbk]old_node_b[rbk])old_node_d.set_children([lbk]old_node_a, old_node_c[rbk])old_node_f.set_children([lbk]old_node_d, old_node_e[rbk])new_node_a = Node('a')new_node_b = Node('b')new_node_c = Node('c')new_node_d = Node('d')new_node_e = Node('e')new_node_f = Node('f')new_node_d.set_children([lbk]new_node_a, new_node_b[rbk])new_node_c.set_children([lbk]new_node_d[rbk])new_node_f.set_children([lbk]new_node_c, new_node_e[rbk])old_tree = old_node_fnew_tree = new_node_fmapping = {old_node_f: new_node_f, old_node_e: new_node_e, old_node_d: new_node_d, old_node_a: new_node_a, old_node_b: new_node_b}
