有多少二叉树可以满足给定的前序遍历和后序遍历?
问题描述:
preorder-> 0,1,2
postorder-> 2,1,0
0
/
1
/
2
0
/
1
\
2
0
\
1
/
2
0
\
1
\
2
这些是4个二叉树可能以上case.How许多树是一般可用于任何前序和后序遍历?
答
有两种回答您的问题:
对于二进制树的后序给予序和遍历,你只能找到一棵树。 (注意对二进制的强调!我只允许根具有2级)
示例草图在this answer中给出,您也可以在其中找到重建算法。如果你的树被允许有2级的内部节点,即只有一个孩子的节点,那么你可以把它放在左边或右边,前后序中相应的子树位置遍历不会改变。所以如果你有
k
这样的节点,你有2^k
等价树
这与编程有什么关系?如果你觉得它确实如此,你能否提供你的代码,并指出它的问题是什么?否则,这似乎是一个可能更适合[maths.stackexchange.com](https://math.stackexchange.com)的问题。 – trincot
你已经知道有两个节点会有两棵可能的树,而三个节点有四棵可能的树。如果你用四个节点进行上述练习,你很可能会发现进展。 –