代码实现:
遍历方法:
-
先序遍历: 根节点、左节点、右节点(根左右)
-
中序遍历: 左节点、根节点、右节点(左根右)
-
后序遍历: 左节点、右节点、根节点(左右根)
对于每一个结点的查看都是“先左后右”,注意:对象是每个子树。
遍历操作:
先序遍历:根左右
- === 整棵树 ===
- 根节点:【A】
- 左节点:
- 【B 子树】
- 根节点:【B】
- 左节点:NULL
- 右节点:
- 【C 子树】
- 根节点:【C】
- 左节点:【D】
- 右节点:【E】
- 右节点:
- 【F 子树】
- 根节点:【F】
- 左节点:NULL
- 右节点:
- 【G 子树】
- 根节点:【G】
- 左节点:【H】
- 右节点:NULL
遍历结果: A, B, C, D, E, F, G, H (千万记得一点:遍历是针对下面是每个子树节点)
中序遍历:左根右
- === 整棵树 ===
- 左节点:
- 【B 子树】
- 左节点:NULL
- 根节点:【B】
- 右节点:
- 【C 子树】
- 左节点:【D】
- 根节点:【C】
- 右节点:【E】
- 根节点:【A】
- 右节点:
- 【F 子树】
- 左节点:NULL
- 根节点:【F】
- 右节点:
- 【G 子树】
- 左节点:【H】
- 根节点:【G】
- 右节点:NULL
遍历结果: B, D, C, E, A, F, H, G
后序遍历:左右根
- === 整棵树 ===
- 左节点:
- 【B 子树】
- 左节点:NULL
- 右节点:
- 【C 子树】
- 左节点:【D】
- 右节点:【E】
- 根节点:【C】
- 根节点:【B】
- 右节点:
- 【F 子树】
- 左节点:NULL
- 右节点:
- 【G 子树】
- 左节点:【H】
- 右节点:NULL
- 根节点:【G】
- 根节点:【F】
- 根节点:【A】
遍历结果: D, E, C, B, H, G, F, A