c++二叉树的前,后,中序遍历

今天蒟蒻来给大家讲二叉树的前,后,中序遍历。
首先我们得知道二叉树的根以及他的左节点和右节点
c++二叉树的前,后,中序遍历
1、前序遍历
先输出当前结点的数据,再依次遍历输出左结点和右结点即:根左右
如下图二叉树分析:
c++二叉树的前,后,中序遍历

遍历过程
(括号内是子节点)
A(B,C)—>B(D,F)—>D—>F—>C(E,G)—>E—>G
所以结果为A B D F C E G
2,中序遍历
先遍历输出左结点,再输出当前结点的数据,再遍历输出右结点即:左根右
如下图二叉树分析:
c++二叉树的前,后,中序遍历
遍历过程
(括号内是子节点)
A(B,C)—>B(D,F)—>D—>B(D,F)—>F—>A(B,C)—>C(E,G)—>E—>C(E,G)—>G
所以结果为D B F A E C G
3,后序遍历
先遍历输出左结点,再遍历输出右结点,最后输出当前结点的数据即:左右根
如下图二叉树分析:
c++二叉树的前,后,中序遍历

遍历过程
(括号内是子节点)
A(B,C)—>B(D,F)—>D—>F—>B(D,F)—>C(E,G)—>E—>G—>C(E,G)—>A(B,C)
最终结果:
D F B E G C A
4.附录
二叉树的遍历只要记住以下几点即可
1)永远都是先左节点,再右节点
2)什么序遍历,那么根就在哪里(如后序遍历就是左右根)
3)一定要到不能往下了才能输出就是像
先序遍历中的A它没有以他为子节点的根了所以才输出
中序和后序中的D没有以他为根节点的子节点了所以才输出