【问题标题】:Number of ways of populating a binary tree to make it a bst填充二叉树以使其成为 bst 的方法数
【发布时间】:2011-11-09 04:36:27
【问题描述】:

给定一组 n 个不同元素和一棵具有 n 个节点的未标记二叉树。我们可以用给定集合填充多少个树,使其成为二叉搜索树?

【问题讨论】:

  • 链表算不算(退化的)BST?
  • 我认为如果根节点是固定的,答案应该是一个,但我很困惑如果允许根节点改变会发生什么。

标签: binary-tree combinatorics


【解决方案1】:

当为程序提供“树”时(以任何语言) - 这意味着将提供根节点地址以供遍历。 因此,根据我的说法,因为提供了“根节点”意味着树结构已经构建并固定为一种类型。

所以我认为可能只有一种方法

【讨论】:

    【解决方案2】:

    如果未标记的意思是没有指定的根节点,则设G = {G[1]..G[n]} 是原始未标记树的图集,它们分别以顶点1 ... n 为根。

    那么对于每个图 G[i] 来说,只有一种填充树的方法(为什么?--考虑树的根中必须有什么值,然后递归下降)。

    一旦你能证明,答案一定是k,集合中相互非同构图的数量G

    【讨论】:

    • 我认为未标记的意思是树的结构是固定的,因此根节点是固定的。
    • 答案的选择是 a) 0 b) 1 c)n! d) 第 n 个加泰罗尼亚语的数字。您认为其中哪个是正确答案?
    • 那么这将是第 n 个加泰罗尼亚语数 - 计算二叉树的数量。
    猜你喜欢
    • 1970-01-01
    • 2019-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-31
    • 2021-09-28
    • 1970-01-01
    相关资源
    最近更新 更多