若一搜索树(查找树)是一个有n个结点的完全二叉树,则该树的最大值一定在叶结点上?

若一搜索树(查找树)是一个有n个结点的完全二叉树,则该树的最大值一定在叶结点上

阅读 16.3k
4 个回答

二叉排序树的定义是
(1)若左子树不空,则左子树上所有结点的值均小于它的根结点的值;
(2)若右子树不空,则右子树上所有结点的值均大于它的根结点的值;
(3)左、右子树也分别为二叉排序树;
(4)没有键值相等的节点。

clipboard.png

从上图分析可知
(1)最大节点必定在右子树中
(2)最大节点必定在右子树中的某个右孩子上

然而这某个右孩子并不一定是叶子节点。
然而这某个右孩子并不一定是叶子节点。
然而这某个右孩子并不一定是叶子节点。

反例如图。
以上。

新手上路,请多包涵

肯定不是啊!好好看查找树定义,如果根节点的右子树有左子树,但是没有右子树,那么最大值就不是叶子节点了

若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值;

所以最大值肯定出现在这个搜索树的最右边的右孩子上,但是它不一定是叶子节点

比如

      2
1        4
        3

我猜可能题主把完全二叉树与完美二叉树搞混淆了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进