【问题标题】:Ordered Binary Tree of Strings字符串的有序二叉树
【发布时间】:2012-07-28 13:54:42
【问题描述】:

将这些值输入到有序二叉树中:MercuryVenusEarthMarsJupiterSaturnUranus

生成的二叉树应该是这样的。

          Mercury
        /         \
    Earth         Venus
       \           /
      Jupiter   Saturn
         \        \
        Mars     Uranus

这个订单有什么理由吗?木星不应该在金星分支之下吗?

【问题讨论】:

  • 对于给定的插入顺序,给定的树不正确 - Mars 应该是 Earth 的右孩子,Jupiter 应该是 Mars 的左孩子,因为 Jupiter 节点插入Mars 时将不存在。请参阅此问题以了解正确的顺序 - Binary Search Tree of Strings (before balancing)

标签: binary-search-tree


【解决方案1】:

“有序二叉树”是指二叉搜索树。只要树满足以下条件:

1. The key in a node is greater than (or equal to) any key stored in its left subtree.
2. The key in a node is less than (or equal to) any key stored in its right subtree.

那么树的确切结构取决于添加键的顺序以及用于构造树的确切算法。

但是,您表示您认为木星应该出现在金星的子树中。您的订购标准是什么?如果按字母顺序比较名称,则显示的树是有效的。

【讨论】:

  • 我明白了,我想知道它们是按字母顺序排列还是随机插入树中。我认为它是按字母顺序完成的。
猜你喜欢
  • 2022-01-03
  • 2022-01-18
  • 1970-01-01
  • 2019-10-18
  • 2017-04-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多