二叉树

某二叉树中序遍历的节点顺序是: BDCE,后序遍历是: DCBE, 则前序遍历结果为()

A. BCDE

B. BDCE

C. ECDB

D. EBCD

 

答案:D

 

解答:

1、什么叫前序、中序、后序

 一棵二叉树由根结点、左子树和右子树三部分组成,若规定 D、L、R 分别代表遍历根结点、遍历左子树、遍历右子树。

DLR--前序遍历(根在前,从左往右,一棵树的根永远在左子树前面,左子树又永远在右子树前面 )

LDR--中序遍历(根在中,从左往右,一棵树的左子树永远在根前面,根永远在右子树前面)

LRD--后序遍历(根在后,从左往右,一棵树的左子树永远在右子树前面,右子树永远在根前面)

2、思路

   2.1 先确认根节点

   2.2 再确定左子树和右子树

  2.2.1 从左子树中找到左子树的跟,回到2.1步骤开始遍历

  2.2.2 从右子树中找到左子树的跟,回到2.1步骤开始遍历

   2.3 直到找完,建立完整的树

   

3.1 先确认根节点

首先根据后序遍历DCBE,根据后续遍历,左右树永远在根节点前面,找到根节点为E

3.2 确定左子树和右子树

根据中序遍历BDCE,中序遍历,根节点永远在右节点树前面,找到左边子节点是BDC,右边没有子节点。

所以树为:

    E
BDC

3.3  BDC的中序为BDC,后续为DCB,于是找到根节点为B,右节点为DC,左边没有节点

所以树为

    E
B    
    DC

3.4 DC的后续为DC,所以C为根节点,中序为DC,所以D为左边子节点

最终得到树为:

    E
B
    C
D

3.5 此树前序遍历结果为:EBCD

posted @ 2022-02-17 19:59  七彩木兰  阅读(141)  评论(0编辑  收藏  举报