2024-04-29 12:45:24 发布
网友
我是python新手,尝试返回一个有序树的preorder列表(注意:不是二叉树)。我在递归到达树的一片叶子之后遇到了一些麻烦。如何让它回到上一个节点?以下是我目前为止的代码:
def OrdPreOrder(T): if Is_OrdLeaf(T): return [] else: for t in Subtrees(T): return [OrdRoot(t)] + OrdPreOrder(t)
提前谢谢你
这个问题我不太清楚,但希望这能有所帮助。 您需要对有序树进行预排序遍历。 预排序遍历方法 1首先打印节点中存储的值 2然后打印存储在children中的值(根据某些原则) 首先
How do I get it to go back up to the previous node?
根据我在上面写的预顺序遍历的定义,我不明白为什么需要返回并重新访问父节点。在
class Node: def __init__(self, data): self.__data = data self.__children = [] def identifier(self): return self.__data def children(self): return self.__children def add_child(self, data): self.__children.append(data) class Tree: def __init__(self): self.__nodes = {} def nodes(self): return self.__nodes def add_node(self, data, parent=None): node = Node(data) self[data] = node if parent is not None: self[parent].add_child(data) return node def traversal(tree): if tree == None: return print (tree.identifier()) for child in tree.children(): traversal(child)
我也不太精通Python中的数据结构(代码中可能有错误)。但希望它能为你指明正确的方向。在
这个问题我不太清楚,但希望这能有所帮助。 您需要对有序树进行预排序遍历。 预排序遍历方法 1首先打印节点中存储的值 2然后打印存储在children中的值(根据某些原则) 首先
根据我在上面写的预顺序遍历的定义,我不明白为什么需要返回并重新访问父节点。在
我也不太精通Python中的数据结构(代码中可能有错误)。但希望它能为你指明正确的方向。在
相关问题 更多 >
编程相关推荐