给定一个节点,要找到下一个最大值,有两种情况:
首先:如果节点有一个正确的孩子。如果是,则下一个最大值位于其右子的左子树的最左侧。
第二:如果节点是叶子,则下一个最大值在其父节点之一。哪个是父母呢?
谢谢!
答案 0 :(得分:1)
你的第一个案例是完全正确的。但是,第二种情况应该替换为:
2)如果节点没有正确的子节点(注意:这并不意味着它是一个叶子!),那么你必须想知道从节点到根的(唯一)路径,直到你对一个父节点进行编码为止。比它的孩子大。该父级是下一个更大的节点。如果不存在这样的父节点,那么我们开始的节点就是树中最大的节点。