二叉樹遍歷分爲三種:前序、中序、後序,其中序遍歷最爲重要,若給定中序遍歷,再加上前序或者後續遍歷其中一個就能唯一確定一顆二叉樹。
A:根節點、B:左節點、C:右節點
二叉樹遍歷:根據根節點的排列順序可分前中後,因此就有前序遍歷,中序遍歷和後續遍歷
如下二叉樹,我們來看其遍歷流程。二叉樹遍歷的意思就是對這棵樹的每個節點按照按照一定的規則來查找或搜索。
中序遍歷(左根右):每一個節點遵循左根右的規則,
1、對於A節點採用左根右規則,分爲3個左節點(順序待定)、根節點A和5個右節點(順序待定),因此有_ _ _A_ _ _ _ _,“ _”表示順序不確定。
2、再遍歷到左B節點,對於B節點採用左根右的規則,B節點有右節點C,因此有B_ _,
3、再遍歷到C,左根右有DC,因此根節點A的左邊爲BDC.
4、再遍歷到A節點的右節點E,有E_ _ _ _,
5、按序就遍歷到了E的右節點F,對F左根右遍歷有_ _ _F,
6、F有左節點,按序就遍歷到了到了G節點,對G節點左根右就得到了HGK(節點HK沒有子節點),所以F前面的順序爲HGK,
7、根節點A右邊節點的順序爲EHGKF,
中序遍歷爲:BDCAEHGKF.
中序遍歷,對每一個節點採取左根右的方法遍歷
遍歷節點: 順序:
A _ _ _A_ _ _ _ _
B B_ _ A_ _ _ _ _
C BDC A_ _ _ _ _
E BDC A E _ _ _ _
F BDC A E _ _ _ F
G BDC A E_G_ F
H BDC A EHG_ F
K BDC A EHGKF
前序遍歷:對每一個節點採取根左右的方法遍歷;
遍歷節點:順序:
A _ _ _ _ _ _ _ _ A
B A B _ _ _ _ _ _ _
C A B C _ _ _ _ _ _
D A B C D _ _ _ _ _
E A B C D E _ _ _ _
F A B C D E F _ _ _
G A B C D E F G _ _
H A B C D E F G H _
K A B C D E F G H K
後序遍歷:對每一個節點採取左右根的方法遍歷。
遍歷節點:順序:
A _ _ _ _ _ _ _ _ A
B _ _ B _ _ _ _ _ A
C _ C B _ _ _ _ _ A
D D C B _ _ _ _ _ A
E D C B _ _ _ _ E A
F D C B _ _ _ F E A
G D C B _ _ G F E A
H D C B H K G F E A
總結:遍歷的順序永遠都是先左子樹後右子樹,由子節點的遍歷順序纔有前中後序之分。每每遍歷到一個節點可標出該節點的位置。