- 二叉樹的遍歷(traversing binary tree)是指從根結點出發,按照某種次序依次訪問二叉樹中所有的結點,使得每個結點被訪問依次且僅被訪問一次。
前序 | 中 | 左 | 右 |
---|---|---|---|
中序 | 左 | 中 | 右 |
后序 | 左 | 右 | 中 |
st=>start: 開始
e=>end: 結束
op=>operation: 根結點
op2=>operation: 左子樹
io=>inputoutput: 右子樹
cond=>condition: 二叉樹是否為空?
st->cond
cond(yes)->e
cond(no)->e
op->op2->io->e
- 前序遍歷
若樹為空,則空操作返回。否則,先訪問根節點,然后前序遍歷左子樹,再前序遍歷右子樹。(W)型 (中 左 右)

- 中序遍歷
若樹為空,則空操作返回。否則,從根節點開始(注意並不是先訪問根節點),中序遍歷根節點的左子樹,然后是訪問根節點,最后中序遍歷根節點的右子樹。(M)型,(左 中 右)

- 后續遍歷
若樹為空,則空操作返回。否則,從左到右先葉子后節點的方式遍歷訪問左右子樹,最后訪問根節點。(左右中)逆時針型 (左 右 中)

- 層序遍歷
若樹為空,則空操作返回。否則,從樹的第一層,也就是根節點開始訪問,從上到下逐層遍歷,在同一層中,按從左到右的順序結點逐個訪問。