如何在二叉搜索树中找到任意两个元素之间的最大路径和? 我不只是在讨论任何两个叶子节点。此问题包含所有节点。 通过路径求和,我指的是路径中所有数据元素的总和。
答案 0 :(得分:0)
使用伪代码:
Set maxSum = MINVALUE
TreeMaxSum (tree)
maxLeft = TreeMaxSum(tree->left)
maxRight = TreeMaxSum(tree->right)
maxSum = max(maxSum, maxLeft+maxRight+tree->value)
return max(maxLeft, maxRight) + tree->value
TreeMaxSum(tree)
当然,你需要照顾通常的边缘情况和#34;空叶"值...