某二叉树的中序序列为BDCA,后序序列为DCBA,则前序序列为?怎么把二叉树排出来??
亲爱哒,不好意思刚刚才看到问题。
我们说:【1】二叉树的后序序列——左右根——DCBA——A为二叉树的根 ;【2】中序序列——左根右——BDCA——我们可以看出二叉树的根A只有左边有元素而右边没有元素,所以二叉树中只有左子树没有右子树,在左子树中,当B为节点时由于C在B的右边 所以C是B的右子树;当以C为节点时,由于D在C的左边所以D是以C为节点的坐子树。由于二叉树的前序序列——根左右——由于二叉树中没有右子树,只有左子树,所以我们可以写成:前序序列——根左——A BCD。所以我们说:这个二叉树的前序序列为:ABCD 亲爱哒“望采纳哟!
”如果以后还有什么不懂哒问题我们还可以一起讨论哟,么么哒亲爱哒*^_^**^_^**^_^*
回复 小龙:亲爱哒,因为在中序序列中的遍历是:BDCA
此时我们可以看出:当B为节点时C在B的右边,所以C是以B为节点的右子树;当以C为节点时,D在C的左边,所以我们说:D是以C为节点的左子树
亲爱哒“望采纳哟! ”如果以后还有什么不懂哒问题我们还可以一起讨论哟,么么哒亲爱哒*^_^**^_^**^_^*
回复 小龙:
亲爱哒
我们说:后序序列——左右根——DCBA——我们可以推出:二叉树哒根为A,因为A只有左边有元素,所以我们说二叉树中只有左子树,其中BCD都属于以A为节点的左子树,接下来我们再根据中序看看他们的位置是怎么样哒:
中序序列——左根右——BDCA——我们由后序可以知道:A为根,BCD为A的左子树,接着我们再来看中序:C在B的右面所以C是以B为节点的右子树,因为D在C的左边,所以D是以C 为节点的左子树
所以图示为:
所以我们说:前序是——根左右——又因为没有右子树——所以即为:根左——A BCD(BCD都是以A为根节点的左子树)
所以答案选择:C选项就可以了
亲爱哒“望采纳哟!”如果以后还有什么不懂哒问题我们还可以一起讨论哟,相信我们一定会把问题解决哒,么么哒亲爱哒!
某二叉树的中序序列为BDCA,后序序列为DCBA,则前序序列为( )
A. DCBA
B. BDCA
C. ABCD
D. BADC
答案:C
解析:后序序列是左右中,根结点为A;中序序列是左中右,二叉树只有左子树。按照遍历的顺序规则排列得出前序序列为ABCD。所以选择C。