如果给定一棵树,其节点的整数为:1 ~ 10,并且所有节点的分支因子为 3,我如何编写一个函数来遍历从根到叶子的每条路径的树
所以对于这个例子,假设它需要返回这个:
{1: 1, 2: 5}
我试过这个辅助功能:
def tree_lengths(t):
temp = []
for i in t.children:
temp.append(1)
temp += [e + 1 for e in tree_lengths(i)]
return temp
这段代码有太多错误。一方面,它会在返回列表中的遍历中留下每个访问节点的印记——因此很难确定哪些是我需要从该列表中获取的值。另一方面,如果树很大,则在到达“for i in t.children”行之前,它不会在路径中留下根和较早节点的印记。它首先需要:从根叶复制所有路径;第二:返回一个列表,专门用于每个路径计数的最终数量。
请帮忙!这太难了。