【问题标题】:Binary Tree with negative values负值二叉树
【发布时间】:2017-07-05 22:06:54
【问题描述】:

我在解决数据结构问题时遇到了二叉树问题:

在二叉树中找到最大节点,返回该节点。 给定以下 BST

    1
   /   \
 -5     2
 / \   /  \
0   3 -4  -5 

我认为在二叉树中,每个节点的键都大于其左子树中的所有键,并且小于其右子树中的所有键。

二叉树可以无序吗?

【问题讨论】:

  • 您可能会将二叉树 (en.wikipedia.org/wiki/Binary_tree) 与二叉搜索树 (en.wikipedia.org/wiki/Binary_search_tree) 或二叉堆 (en.wikipedia.org/wiki/Binary_heap) 混淆。二叉树只是一棵树,每个节点最多有两个孩子,与实际内容无关。
  • 一个简单的二叉树在根、它的左孩子和右孩子之间没有这种关系,但是二叉搜索树有。使用上面的二叉树,您可以在遍历时进行遍历并跟踪最大元素,这需要O(n) 时间复杂度。(n 是二叉树中的节点数)

标签: data-structures


【解决方案1】:

应该对binary search tree 进行排序和排序。

但是二叉树可以像你展示的那样是未排序的。二叉搜索树是一种恰好被排序的二叉树。

【讨论】:

    【解决方案2】:

    我认为在二叉树中,每个节点的键都大于所有 其左子树中的键,小于其右子树中的所有键 子树。

    这是二叉树搜索树的属性。

    二叉树可以是未排序的,但它不适合查找(它没有 log(n) 复杂度)。

    【讨论】:

      猜你喜欢
      • 2019-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-14
      • 2021-12-19
      • 2012-01-09
      • 1970-01-01
      • 2011-09-16
      相关资源
      最近更新 更多