2017-05-06 184 views
1

好吧,所以給定這棵樹,我需要寫出它的前序,後序和後序遍歷。寫出預定,按順序和後期遍歷給定一棵樹:

         9 
           / \ 
           5  12 
           /\ /\ 
           2 7 11 15 
          ///\ \ 
          3 6 10 13 16 
               \ 
                17 

這是我想出,我的老師並沒有這樣做的打算在這個偉大的工作,所以我不知道如果我正確附近的任何地方。

 pre-order: 9 5 2 3 7 6 12 11 10 13 15 16 17 
     in-order: 3 2 5 7 6 9 12 11 10 13 15 16 17 
     post-order: 3 2 6 7 5 10 11 17 16 15 13 12 9 

任何幫助,將不勝感激

+0

我們需要程序或者如何輸出? –

+1

你的問題是什麼?爲什麼它被標記爲「python」? – dede

+0

我們不需要編程。我獲得了該樹並使用維基百科來幫助構建上述的預訂,按序和後序輸出。我只是想知道如果我正確地做到這一點 – Goose

回答

0

預購:做一個深度優先traveral,當你遇到它的第一次寫出來的節點。所以這是正確的(9 5 2 3 7 6 12 11 10 13 15 16 17)。

Post-order:先處理深度優先遍歷,然後在處理完所有子節點後寫出節點。所以正確的順序是(3 2 6 7 5 10 13 11 17 16 15 12 9)。

有序:先進行深度優先遍歷,然後先寫出左側子樹,然後寫出節點本身,然後寫出右側子樹。所以正確的順序是(3 2 5 6 7 9 10 11 13 12 15 16 17)。這對於單個孩子是左邊還是右邊是有區別的,對於其他方法來說,這並不重要。