二叉树遍历的浅显解释

二叉树的前中后序你真的懂了吗

首先观察前中后序的排列方式
前中后序列的左右子树的顺序是不会改变的
唯一会改变的就是根节点的位置
ok
回到前中后
前序就是根节点在前面(根左右)
中序就是根节点在中间(左根右)
后序就是根节点在末端(左右根)
例如给一个二叉树
观察这个二叉树
我们使用前序遍历
根据我们刚才的根左右的顺序来解答这个二叉树
在这里插入图片描述
从左到右我们分别命上编号
A
BC
DEF
观察第一个根节点
就是我们的首结点
根左右的顺序来看这个二叉树下面的部分我们先不看
只看上面前两层
根据前序根左右我们可以得到ABC但是我们的B结点在他的子数里面又是一个根节点,所以这个地方我们再把B展开
B根据根结点的排序我们可以得到一个新的就是
(根左右BDE)右
即为我们将B替换为BDE
现在我们的前序序列为ABDEC
继续展开我们的右边的树
即为C展开为CF根左右没有左结点 使用我们的C变成CF序列
现在我们的所有结点全部排序完毕
我们得到了全部的结点为
ABDECF

他们的遍历代码类似
我们可以简洁的清晰记忆
此处我们用C语言描述一下
稍等补上

猜你喜欢

转载自blog.csdn.net/qq_44965100/article/details/108460715