【问题标题】:number of binary tree possible that has the given inorder swquence具有给定顺序序列的可能二叉树的数量
【发布时间】:2023-01-08 17:21:13
【问题描述】:

标记为 P、Q、R、S、T 的五个节点用于构建二叉树。可以形成的不同二叉树的数量,使得每个有序遍历给出 P,Q,R,S,T 是

我不知道我在测试系列中得到这个问题的确切答案,他们给出的解决方案不正确所以请帮助告诉我如何解决这些问题

【问题讨论】:

    标签: algorithm data-structures binary-search-tree permutation gate


    【解决方案1】:

    首先,观察一个完全的二叉树只有一种可能的排列方式。例如有七个节点并且要求中序遍历按字母顺序排序:

       D
     B   F
    A C E G
    

    但是你的问题是有 5 个节点,所以树不完整。这是一棵可能的树:

       S
     Q   T
    P R
    

    从左到右阅读,字母的顺序是正确的,但显然不是唯一可能的顺序。这是另一个:

       R
     Q   T
    P   S
    

    四个可能的叶节点中总是恰好有两个空叶。如果我们用 1 表示叶子,用 0 表示空,则可能是:

    0011
    0101
    1001
    1100
    1010
    0110
    

    所以这是六棵不同的树。最后一个问题是是否存在两棵不同的树,它们填充了相同的节点但在某些节点上具有不同的值(字母)。答案是否定的,那是不可能的,原因与完整树相同:交换任何两个值总是会使树乱序。就像在数组中一样,只有一个顺序,当值都不同时才排序。

    【讨论】:

      猜你喜欢
      • 2017-06-17
      • 1970-01-01
      • 1970-01-01
      • 2021-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多