【问题标题】:Binary tree validation二叉树验证
【发布时间】:2018-07-08 02:04:49
【问题描述】:

一直在解决一些黑客等级破解编码面试问题,最近才解决这个问题:Binary Tree Problem

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

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

但是他们提到这棵树

有效。但是根据他们对有效二叉搜索树的描述,这棵树是否无效,因为节点 4 有节点 5 的左子节点,后者更大。还是我误解了什么是有效的 BST?

【问题讨论】:

  • 你是对的。这不是一个有效的二叉搜索树。

标签: algorithm binary-search-tree


【解决方案1】:

问:但是根据他们对有效二叉搜索树的描述,这棵树是否无效,因为节点 4 有节点 5 的左子节点,后者更大。还是我误解了什么是有效的 BST?

答:你说得对。在这种情况下,他们所说的图像和线条相互矛盾。

作者已经明确说明了有效 BST 的以下定义:

为了这个挑战,我们定义了一个二叉搜索树来 是具有以下属性的二叉树:

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

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

  3. 每个节点的数据值不同。

因此,图像中的树不能作为有效的 BST。

【讨论】:

    猜你喜欢
    • 2021-10-01
    • 1970-01-01
    • 2018-09-29
    • 2020-12-31
    • 1970-01-01
    • 1970-01-01
    • 2010-10-04
    • 1970-01-01
    相关资源
    最近更新 更多