二叉树前序、中序、后序遍历相互求法(实例)


1.已知先序和中序求后序
     先序遍历的节点顺序是:ADCEFGHB,中序遍历是CDFEGHAB,则后序遍历的结果是  CFHGEDBA
解:1)根据先序遍历结果可知A是根节点,根据中序遍历知道A的左子树是(CDFEGH),右子树是(B)
      2)左边中D是根节点,由中序遍历的顺序CD知道,C是D的左子树;
           E是D的右子树,由中序遍历的顺序FE知道,F是E的左子树;
           G是E的右子树,由中序遍历的顺序GH知道,H是G的右子树
      3)故二叉树的图为 
                                         A
                                       /    \
                                     D       B    
                                    /   \ 
                                  C     E
                                       /   \
                                      F    G
                                              \
                                               H
     4)由图知道后序遍历的结果是CFHGEDBA
2. 已知后序和中序求先序
       后序遍历是DABEC,中序遍历是DEBAC,则先序遍历是CEDBA
解:1)根据后序遍历结果知道C是根节点,根据中序遍历知道C的左子树是DEBA,没有右子树
       2)左边E是根节点,由中序遍历DE知道,D是E的左子树
            B是E的右子树,A是B的右子树
       3)故二叉树的图为 
                                       C
                                     /    \
                                   E
                                 /   \
                                D    B
                                        \
                                         A
      4)由图知道先序遍历的结果是CEDBA

发布了2 篇原创文章 · 获赞 20 · 访问量 8万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章