4
如果我有前序遍歷和後序遍歷,我可以構造一棵不一定是二叉樹的樹嗎?喜歡的東西:從前序遍歷和後序遍歷構建樹
預購:KLMOPN
後序:LOPMNK
體形:
K
/| \
L M N
/\
O P
我讀過,這也不是沒有可能序遍歷的二叉樹,但是有可能只用一個非二叉樹的前序遍歷和後序遍歷呢?
如果我有前序遍歷和後序遍歷,我可以構造一棵不一定是二叉樹的樹嗎?喜歡的東西:從前序遍歷和後序遍歷構建樹
預購:KLMOPN
後序:LOPMNK
體形:
K
/| \
L M N
/\
O P
我讀過,這也不是沒有可能序遍歷的二叉樹,但是有可能只用一個非二叉樹的前序遍歷和後序遍歷呢?
如果樹在節點中完成(假設它是3節點樹,左,中,右)。 你會寫一個遞歸函數。
Void Transverse(Node n){
if(n.left ==null && n.middle==null && n.right ==null){
System.out.print(n.value);
return;
}
Transverse(left);
Transverse(middle);
Transverse(right);
System.out.print(n.value);
}
這是一些僞代碼(我將假設OP來自M)。這將從您展示的樹中打印出LOPMNK。 (印刷品L)→K→M→O(印刷品O)→M→P(印刷品P)→M(印刷品M)→K→N(印刷品N ) - > k(打印k)。
它會發生的訂單。
假設Q在後序實際上是一種O?另外,O和P分開了什麼?所有3?或一個字母inpeticular – Lain
可能重複[重建樹從其預先和後序列表](http://stackoverflow.com/questions/1136999/reconstructing-a-tree-from-its-preorder-and-postorder-lists) – Dukeling