二叉树验证

时间:2018-07-08 02:04:50

标签: algorithm binary-search-tree

曾经研究过一些破解编码面试问题的黑客等级,最近才解决这个问题:Binary Tree Problem

在问题描述中,作者回顾了被认为是有效的二叉树。

  

“节点左子树中每个节点的值小于   该节点的数据值。”

但是他们提到这棵树

enter image description here

有效。但是通过对有效的二叉搜索树的描述,该树不会无效,因为节点4的左子节点为5,更大。还是我误解了什么才是有效的BST?

1 个答案:

答案 0 :(得分:3)

问:但是通过描述有效的二叉搜索树,该树不会无效,因为节点4的左子节点为5,这更大。还是我误解了什么才是有效的BST?

A:您是正确的。在这种情况下,它们所显示的图像和线条相互矛盾。

对于有效的BST,作者已明确说明以下定义:

  

出于此挑战的目的,我们定义了一个二进制搜索树来   是具有以下属性的二叉树:

     
      
  1. 节点左子树中每个节点的数据值小于   该节点的数据值。

  2.   
  3. 一个节点的右子树中每个节点的数据值大于   该节点的数据值。

  4.   
  5. 每个节点的数据值都是不同的。

  6.   

因此,图片中的树不符合有效的BST。