Python 2.7 查找到树中任何节点的距离
我试图从下面树中的其他节点获取节点的深度。我有一个父子关系列表:Python 2.7 查找到树中任何节点的距离,python-2.7,recursion,tree,Python 2.7,Recursion,Tree,我试图从下面树中的其他节点获取节点的深度。我有一个父子关系列表: Parent -> Children [2] -> [0] [1] -> [2,5] [5] -> [3,4,6] 我想找到一个节点与其他节点的深度/距离。 因此,从节点[5],深度[]={3,1,2,1,1,0,1} 我目前有: def get_depth(self,idx,depth): self.depth[idx]=depth for child in se
Parent -> Children
[2] -> [0]
[1] -> [2,5]
[5] -> [3,4,6]
我想找到一个节点与其他节点的深度/距离。
因此,从节点[5]
,深度[]={3,1,2,1,1,0,1}
我目前有:
def get_depth(self,idx,depth):
self.depth[idx]=depth
for child in self.sentence_prop.words[idx].children:
get_depth(child[0],depth+1)
return
其中idx=
[5]
和首字母深度=0
。我这样做只是为了孩子,但我不知道如何为父母这样做。我希望这能解决你的问题
1) 两个节点之间的距离由以下公式给出:Dist(n1,n2)=Dist(root,n1)+Dist(root,n2)-2*Dist(root, 生命周期评价)
这里的lca:n1和n2的最低共同祖先。这适用于任何普通树 2) 您需要做的是:
返回(len(路径1)+len(路径2)-2*(公共路径长度))
二叉树的这个概念的实现是这对我来说似乎不清楚。你能举例说明更多的输入和输出例子吗?
0
的输出是什么?数字是否总是按顺序从1
到n
?