全部问题 > 当前问题

某二叉树的中序序列为BDCA,后序序列为DCBA,则前序序列为?怎么把二叉树排出来??

小龙 2016-2-24 17:35:01

共 4 个回答

青栀如初 2016-2-24 18:10:26

亲爱哒,不好意思刚刚才看到问题。 我们说:【1】二叉树的后序序列——左右根——DCBA——A为二叉树的根 ;【2】中序序列——左根右——BDCA——我们可以看出二叉树的根A只有左边有元素而右边没有元素,所以二叉树中只有左子树没有右子树,在左子树中,当B为节点时由于C在B的右边 所以C是B的右子树;当以C为节点时,由于D在C的左边所以D是以C为节点的坐子树。由于二叉树的前序序列——根左右——由于二叉树中没有右子树,只有左子树,所以我们可以写成:前序序列——根左——A BCD。所以我们说:这个二叉树的前序序列为:ABCD 亲爱哒“望采纳哟! ”如果以后还有什么不懂哒问题我们还可以一起讨论哟,么么哒亲爱哒*^_^**^_^**^_^*


小龙 2016-2-24 18:29:32

回复 青栀如初:为什么当B为节点时C在B的右边,当以C为节点时,D在C的左边?

青栀如初 2016-2-24 22:34:37

回复 小龙:亲爱哒,因为在中序序列中的遍历是:BDCA

 此时我们可以看出:当B为节点时C在B的右边,所以C是以B为节点的右子树;当以C为节点时,D在C的左边,所以我们说:D是以C为节点的左子树

  亲爱哒“望采纳哟! ”如果以后还有什么不懂哒问题我们还可以一起讨论哟,么么哒亲爱哒*^_^**^_^**^_^*

青栀如初 2016-2-26 17:51:14

回复 小龙

亲爱哒

     我们说:后序序列——左右根——DCBA——我们可以推出:二叉树哒根为A,因为A只有左边有元素,所以我们说二叉树中只有左子树,其中BCD都属于以A为节点的左子树,接下来我们再根据中序看看他们的位置是怎么样哒:

                中序序列——左根右——BDCA——我们由后序可以知道:A为根,BCD为A的左子树,接着我们再来看中序:C在B的右面所以C是以B为节点的右子树,因为D在C的左边,所以D是以C 为节点的左子树

               

  所以图示为:                       

                                   blob.png

                       

           

所以我们说:前序是——根左右——又因为没有右子树——所以即为:根左——A  BCD(BCD都是以A为根节点的左子树)

所以答案选择:C选项就可以了

     亲爱哒“望采纳哟!”如果以后还有什么不懂哒问题我们还可以一起讨论哟,相信我们一定会把问题解决哒,么么哒亲爱哒!

问题来自: 二叉树的遍历
某二叉树的中序序列为BDCA,后序序列为DCBA,则前序序列为( )
A. DCBA
B. BDCA
C. ABCD
D. BADC
答案:C
解析:后序序列是左右中,根结点为A;中序序列是左中右,二叉树只有左子树。按照遍历的顺序规则排列得出前序序列为ABCD。所以选择C。