二叉树的遍历

来源:互联网 发布:网络销售酒 编辑:程序博客网 时间:2024/06/07 21:10

根据二叉树的中序遍历和后序遍历求前序遍历

例:已知二叉树的中序遍历:DBCFEA

                             后序遍历:DFCAEB

1、根据二叉树的后序遍历最后一位为根结点知此二叉树的根结点为B,中序遍历中根结点的左边为左子树,右边为右子树,从而左子树为D,且D为左子树的根结点。右子树为

       CFEA。

2、针对右子树重复上述分析过程:中序遍历:CFEA

                                                        后序遍历:FCAE

       后序遍历最后一位为根结点,根据中序遍历E的左边为左子树,右边为右子树,从而E为根结点,CF为左子树,A

      为右子树。

3、若要继续分析CF,根据后序遍历最后一位为根结点,C为根结点,在看中序遍历F在C右边则为右子树。从而可以

     画出整棵树的结构,自然可以得出前序遍历。


     答案是:BDECFA

     照此分析,无论多么复杂的二叉树都可得出最终的树形结构,其本质就是不断递归的过程。

 

    简单的图解分析如下图:



原创粉丝点击