二叉树值中的下一个最大值

时间:2011-10-09 17:30:10

标签: java algorithm binary-tree

给定一个节点,要找到下一个最大值,有两种情况:

  • 首先:如果节点有一个正确的孩子。如果是,则下一个最大值位于其右子的左子树的最左侧。

  • 第二:如果节点是叶子,则下一个最大值在其父节点之一。哪个是父母呢?

谢谢!

1 个答案:

答案 0 :(得分:1)

你的第一个案例是完全正确的。但是,第二种情况应该替换为:

2)如果节点没有正确的子节点(注意:这并不意味着它是一个叶子!),那么你必须想知道从节点到根的(唯一)路径,直到你对一个父节点进行编码为止。比它的孩子大。该父级是下一个更大的节点。如果不存在这样的父节点,那么我们开始的节点就是树中最大的节点。