我正在尝试用节点和弧中的数据构建一棵树。到目前为止,我所做的是像这样构建类 Tree、Arc 和 Node:
class Tree():
def __init__(self):
self.root = None
self.nodes = {}
self.end_arcs = {}
class Arc():
def __init__(self,start,end,data={}):
self.start = start
self.end = end
self.data = data
class Node():
def __init__(self,token,data={}):
self.token = str(token)
self.state = self.OPEN
self.data = data
节点编号越来越多,末端节点标记为 -1。但是,当我想反转树并重新编号节点时,我必须更改很多东西:我的节点字典的键,每个节点的标签,也许(或者它们可以指向我的节点字典中的节点吗? ) 也是我的 arcs dict 中的节点。所以我认为我实现这种通用结构的方式不是一个好方法。有解决这个问题的标准方法吗?或者你将如何构建这样的树结构?
提前致谢,
乔里斯