某二叉树的中序序列为BDCA,后序序列为DCBA,则前序序列为?怎么把二叉树排出来??
小龙 圈内达人 2016-02-24 17:35:01
2155 4 0
问题来自: 二叉树的遍历
某二叉树的中序序列为BDCA,后序序列为DCBA,则前序序列为( )
A. DCBA
B. BDCA
C. ABCD
D. BADC
答案:C
解析:后序序列是左右中,根结点为A;中序序列是左中右,二叉树只有左子树。按照遍历的顺序规则排列得出前序序列为ABCD。所以选择C。

共 4 个回答

    青栀如初 资深大师 1559天前

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


    小龙 圈内达人 1559天前

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

    青栀如初 资深大师 1559天前

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

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

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

    青栀如初 资深大师 1557天前

    回复 小龙

    亲爱哒

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

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

                   

      所以图示为:                       

                                       blob.png

                           

               

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

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

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

您还没有登录,所以不能回复该问题
我要回复

  • 0

    点赞

  • 扫一扫分享朋友圈

    二维码

  • 分享

相关问题