如何在python中按顺序合并两棵树(使用anytree)
将同一深度节点按顺序(按顺序表示同一深度节点从左到右逐个)合并到一个新节点,并添加边权重。
from anytree import Node, RenderTree,LevelOrderIter,search
Root = Node(name="0", cart=0, cnt=0, goodsid='-1', parent=None)
node1 = Node(name="1", cart=0, cnt=1, goodsid='-1', parent=Root)
node2 = Node(name="2", cart=0, cnt=2, goodsid='-1', parent=Root)
node3 = Node(name="3", cart=0, cnt=3, goodsid='-1', parent=Root)
node4 = Node(name="4", cart=0, cnt=4, goodsid='-1', parent=Root)
node5 = Node(name="5", cart=0, cnt=5, goodsid='-1', parent=node1)
node6 = Node(name="6", cart=0, cnt=6, goodsid='-1', parent=node1)
node7 = Node(name="7", cart=0, cnt=7, goodsid='-1', parent=node4)
print(RenderTree(Root))
Root_1 = Node(name="a", cart=0, cnt=0, goodsid='-1', parent=None)
node_b = Node(name="b", cart=0, cnt=1, goodsid='-1', parent=Root_1)
node_c = Node(name="c", cart=0, cnt=2, goodsid='-1', parent=Root_1)
node_d = Node(name="d", cart=0, cnt=3, goodsid='-1', parent=node_b)
node_e = Node(name="e", cart=0, cnt=4, goodsid='-1', parent=node_c)
node_f = Node(name="f", cart=0, cnt=5, goodsid='-1', parent=node_c)
node_g = Node(name="g", cart=0, cnt=5, goodsid='-1', parent=node_f)
node_h = Node(name="h", cart=0, cnt=7, goodsid='-1', parent=node_g)
print(RenderTree(Root_1))
下面是两个示例树如何合并它们