树遍历获取节点的子节点和root的路径

时间:2016-09-15 17:14:58

标签: algorithm tree graph-algorithm tree-traversal

假设我们有一个不同高度的树的多个节点。 有没有有效的方法来只获取节点的子节点和根节点的路径? 这意味着我们可以获得比我们的节点集更低的所有节点,但是到了顶部我们只需要父节点,直到我们到达根节点。 (我们不想要父母的孩子)。 因为树可能变得非常庞大,我们想根据我们的节点懒洋洋地加载孩子。提前谢谢。

1 个答案:

答案 0 :(得分:0)

根据约束,有多种方法,首先,您可以为O(N + M)中的每个节点预先计算此值。但如果树很大,那么你无法真正存储这些值。因此,有第二种方法,很容易找到从每个节点到节点的路径(对于每个节点,您将仅保留有关父节点的信息)。对于孩子们,您可以存储节点的预订序遍历,并且枢轴节点和节点之间的所有内容都将是您的问题的答案。总体复杂性应为O(N + M)