先訪問根節點ide
再先序訪問左子樹blog
再先序訪問右子樹it
訪問左子樹步驟:class
1. 從根節點A開始二叉樹
2. 訪問A的左子樹(以B爲根節點的樹)遍歷
3. 訪問B的左子樹(以D爲根節點的樹)im
4. 訪問D的左子樹,爲空db
5. 訪問D的右子樹,爲空,D訪問完畢,意味着B的左子樹訪問完了img
6. 返回到B,訪問B的右子樹,爲空,B訪問完畢,意味着A的左子樹訪問完了di
7. 返回到A
即左子樹遍歷爲A-B-D
訪問右子樹:
操做與上相同,最後A的右子樹訪問完畢,意味着整棵樹訪問完畢
最終遍歷結果是:A-B-D-C-E-F-G
先遍歷左子樹
再訪問根節點
再中序遍歷右子樹
操做:
1. 從根節點A的左子樹(以B爲根節點)開始
2. 訪問B的左子樹,爲空
3. 訪問根節點B
4. 訪問B的右子樹(以C爲根節點)
5. 訪問C的左子樹(以D爲根節點)
6. 訪問D的左子樹,爲空
7. 訪問根節點D
8. 訪問D的右子樹,爲空,D訪問完畢
9. 返回到C,訪問根節點C
10. 訪問C的右子樹(以E爲根節點)
11. 訪問E的左子樹,爲空
12. 訪問根節點E
13. 訪問E的右子樹,爲空,E訪問完畢
14. 返回到C,C訪問完畢
15. 返回到B,B訪問完畢
16. 返回到A,訪問根節點A
17. 訪問A的右子樹(以F爲根節點)……操做同上
最終結果:B-D-C-E-A-L-F-N-Q-M
先遍歷左子樹
再遍歷右子樹
再訪問根節點
操做:
1. 先訪問A的左子樹(以B爲根節點)
2. 訪問B的左子樹,爲空;訪問B的右子樹,爲空;訪問根節點B,訪問完畢
3. 返回到A,訪問A的右子樹(以C爲根節點)
4. 訪問C的左子樹(以D爲根節點)
5. 訪問D的左子樹,爲空;訪問D的右子樹,爲空;訪問根節點D,訪問完畢
6. 返回到C,訪問C的右子樹(以E爲根節點)
7. 訪問E的左子樹(以F爲根節點)
8. 訪問F的左子樹(以M爲根節點)
9. 訪問M的左子樹,爲空;訪問M的右子樹,爲空;訪問根節點M,訪問完畢
10. 返回到F;訪問F的右子樹,爲空;訪問根節點F,訪問完畢
11. 返回到E;訪問E的右子樹(以L爲根節點)
12. 訪問L的左子樹,爲空;訪問L的右子樹,爲空;訪問根節點L,訪問完畢
13. 返回到E,訪問根節點E,訪問完畢
14. 返回到C,訪問根節點C,訪問完畢
15. 返回到A,訪問根節點A,訪問完畢
最終結果是:B-D-M-F-L-E-C-A