題目描述
如果要對樹中的某一結點進行操作,就要訪問樹中的各個結點,我們把不重複地訪問樹中各結點的過程稱為樹的遍歷.
二叉樹是非線性結構,它的遍歷實質上是將二叉樹中的各個結點轉換成為乙個線性序列來表示。常用的二叉樹的遍歷方法有三種:前序,中序和後序。後序遍歷:先訪問左子樹, 再訪問右子樹, 最後訪問根. 對左右子樹遞迴地進行以上訪問。請按後序遍歷方式對二叉樹進行遍歷,並輸出遍歷結果。
輸入輸入為若干行:
第一行乙個整數n,表示二叉樹的結點個數(1<=n<=26);
第2–n+1行為每個結點的資訊,每行有乙個字元和兩個整數;字元表示結點名稱,兩個整數分別表示左子樹和右子樹的根結點編號;
輸出輸出一行結點資訊(結點名稱),為後序遍歷結果,結點間用乙個空格隔開。
樣例輸入
9a 2
3b 4
0c 5
6d 0
0e 7
0f 8
9g 0
0h 0
0j 0
0樣例輸出
d b g e h j f c a
#include
using
namespace std;
typedef
struct node data;
data tree[30]
;int n;
void
creat_tree()
}}void
dfs(
int x)
cout << tree[x]
.name <<
' ';
}int
main()
二叉樹的後序遍歷
1 問題描述 給出一棵二叉樹,返回其節點值的後序遍歷。給出一棵二叉樹 1 2 3返回 3,2,1 2 問題實現 與前序遍歷 中序遍歷類似。若二叉樹為空,則空操作返回。否則後序遍歷根節點的左子樹,後序遍歷根節點的右子樹,訪問根節點。3 definition of treenode class tree...
二叉樹的後序遍歷
節點和樹類 public class treenode public treenode integer val override public string tostring public class tree 遞迴實現 public arraylistafter treenode node aft...
二叉樹的後序遍歷
如下圖表示一顆二叉樹,對它進行先序遍歷操作,採用兩種方法,遞迴和非遞迴操作。遍歷結果為 4526731。1 遞迴操作 思想 若二叉樹為空,返回。否則 1 後序遍歷右子樹 2 後序遍歷左子樹 3 遍歷根節點 void postorder bitree root 2 非遞迴操作 void postord...