二叉树的遍历(分析思路和根据两个遍历条件写出遍历图形和推出另一个遍历)...

二叉树的遍历(分析思路和根据两个遍历条件写出遍历图形):

(D为访问根节点,L为访问左子树,R为访问右子树

1.二叉树的前序遍历的方式为DLR( 即先访问根,然后左子树,然后右子树)

 中序遍历为LDR

 后序遍历为LRD

                               

                   (图 1.0

前序遍历的方式为先访问根节点A

然后访问左子树B,D,G 

                                       

                     (图 1.1

然后按照DLR的方式访问,访问根节点B

然后访问左子树D,G:

                                

                        (图 1.2

然后按照DLR的方式访问,访问根节点D

最后访问G节点

之后访问A的右子树

                              

           

                      (图 1.3

最后前序遍历的结果为ABDGCEF

中序遍历为: DGBAECF

后序遍历为   GDBEFCA

                                   

                 (图 1.4

现在反过来:知道他的两个遍历结果(其中一个必须为中序遍历:用于确定他每次递归的根节点)

现在讲一种情况:

前序遍历的为ABDGCEF

中序遍历为: DGBAECF

前序遍历的第一个肯定为根节点,所以A为根节点         (图 1.5

遍历结果可表示为ABDG)(CEF

                                           

                 (DGBAECF

   

根据中序遍历A的左边DGB为左子树,右边ECF为右子树

根据前序遍历:左子树BDG的根节点为B,,再根据中序遍历知道DGB的左子树

ABDG))(CEF

((DGBAECF

                                         

           

(图 1.5

根据中序遍历DG的根节点为D,再根据中序遍历,GD的右边

所以左边的结构为

                                  

(图 1.6

右边和左边的分析方式一致

ABDG))(CEF

((DGBAECF

根据前序遍历:右子树的根节点为C

根据中序遍历:EC的左子树,GC的右子树

所以最终的结果如图:1.4

                                                

已知中序遍历和后续遍历两个条件的分析思路也是一样的,同学们可以试一试、


转载于:https://www.cnblogs.com/duanxingxing/archive/2012/09/27/6550638.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值