请教一个问题
我看到有一位大神回答得很详细,是这样的。
我们说:后序序列——左右根——DCBA——我们可以推出:二叉树哒根为A,因为A只有左边有元素,所以我们说二叉树中只有左子树,其中B,C,D都属于以A为节点的左子树,接下来我们再根据中序看看他们的位置是怎么样哒:
中序序列——左根右——BDCA——我们可以发现:A为根,BCD为A的左子树,C在B的右面所以C是以B为节点的右子树,因为D在C的左边,所以D是以C 为节点的左子树
所以图示为:
那么,如图中,后序序列——左右根——DCBA,
中序序列——左根右——BDCA,
那么,后序和中序都是从左开始,为什么一个是DC开头,一个是BD开头?
代码语言
回复荀荷光 :因为后序序列为DCBA,所以易知根结点为A;
又因为二叉树的后序序列为DCBA中序序列为BDCA,所以易知二叉树有左子树无右子树;
其中左子树的中序序列为BDCA,后序序列为DCB;所以左结点为B,D、C是B的右子结点,C是B右子结点,D是C左子结点,故前序序列为ABCD。
如图所示:
A
/
B
\
C
/
D
满意请采纳,谢谢!
某二叉树的中序序列为BDCA,后序序列为DCBA,则前序序列为( )
A. DCBA
B. BDCA
C. ABCD
D. BADC
答案:C
解析:后序序列是左右中,根结点为A;中序序列是左中右,二叉树只有左子树。按照遍历的顺序规则排列得出前序序列为ABCD。所以选择C。