二叉樹三種遍歷方法(根據兩種排序求第三種的順序)

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

相關文章
相關標籤/搜索