二叉树-节点组合列表

时间:2019-02-06 22:41:45

标签: algorithm time-complexity binary-tree big-o complexity-theory

我有一个带有每个边的“长度”(值)的二叉树。我想收集这些≤k的边的所有可能和。让我们举个例子。

enter image description here

规则很简单。我必须从根交叉处收集边求和的所有组合。 在k = 4的情况下,图像中的树的总和为[3,2,4,3,4,2,3]。 如您所见,我需要做的就是使用邮购并创建一个包含左边缘值,右子值,左边缘和右边缘之和的列表,并将其传递到父节点(忽略值≤k。父亲将从左侧,右侧获取此类列表,添加自身并将其粘贴到更高的位置等。 现在是问题了。我知道后遍历时间复杂度为O(n),但我不确定这些列表现在会是什么。我必须做类似的事情

current_edge_list = left_list + right_list
current_edge_list.push(self_val)
for edge_from_left in left_list:
  for edge_from_right in right_list:
    current_edge_list.push(edge_from_left+edge_from_right)

0 个答案:

没有答案