K连通节点二叉树的总和

时间:2018-04-20 05:13:39

标签: algorithm data-structures binary-tree dynamic-programming

我想在二叉树中找到K个连接节点的最大总和。我想通过记忆这样做,但我被卡住了。

1 个答案:

答案 0 :(得分:0)

想想问题是如何破裂的。二叉树的连接子图本身就是一棵树。特别是,子图有一个根,根的子也是树。

因此,请考虑以下相关问题。给定二叉树和特定节点X,根据X的子树的最大总和是多少,其中子树有N个节点?

如果您可以通过N=1回答N=i的问题,那么您可以通过修复节点N=i+1来回答X的相同问题,选择j来自X左侧子节点的节点和来自i-j右侧子节点的X节点,可选择0<=j<=i。这说明了动态编程所需的“最佳子问题”属性。