Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 为什么is_sum_树检查在转换为sum树的树上无效_Algorithm_Tree_Binary Tree - Fatal编程技术网

Algorithm 为什么is_sum_树检查在转换为sum树的树上无效

Algorithm 为什么is_sum_树检查在转换为sum树的树上无效,algorithm,tree,binary-tree,Algorithm,Tree,Binary Tree,我对将二叉树转换为sum_树的算法感到非常困惑 因此,下面的树是一个有效的和树。其中根节点等于左子树和右子树中所有节点的总和。 现在,将二叉树转换为求和树的方法位于此链接-。结果树不满足is_sumtree方法的逻辑 我理解这两种算法,但如果生成的树不满足is_sumtree方法,那么它有什么用?您误解了这个概念。让我们看看定义: 二叉树的求和树,是一棵树,其中每个节点都被转换 树将包含树中左、右子树的总和 原始树 这意味着求和树中的一个节点将与原始树中相应节点的后代的求和相等。您认为和树的节

我对将二叉树转换为sum_树的算法感到非常困惑

因此,下面的树是一个有效的和树。其中根节点等于左子树和右子树中所有节点的总和。

现在,将二叉树转换为求和树的方法位于此链接-。结果树不满足is_sumtree方法的逻辑


我理解这两种算法,但如果生成的树不满足is_sumtree方法,那么它有什么用?

您误解了这个概念。让我们看看定义:

二叉树的求和树,是一棵树,其中每个节点都被转换 树将包含树中左、右子树的总和 原始树


这意味着求和树中的一个节点将与原始树中相应节点的后代的求和相等。您认为和树的节点将等于和树中它们的后代的和,这是一种误解。查看原始树的任何节点,并对后代求和。看一下sum树中相应的节点。您将看到一个精确匹配。

没有和树一样的标准术语。这两个链接使用不同的叶策略来构建和树。这两种观点都是正确的。构建和树通常是一个子问题或对给定树的结构操作,以解决更大的问题。

这只是一个定义问题。根据二叉树和树的定义,它可能不是和树本身。也许您想选择另一个定义:例如,二叉树的和树是一个在叶子中具有相同结构和值的和树。当然,这样的定义需要另一种转换算法

/*
This function returns below tree
            82
           / \
         35   6
        / \    \
       15  5    6
      / \
     7  8
*/