二叉树遍历
分享博客:点击打开链接https://www.cnblogs.com/isabelle/p/isabellezhou.html
图文并茂,讲的很清楚,前、后、中序代表的其实是对于左子树、根节点、右子树的访问顺序,
前序遍历:根节点、左子树的先序遍历、右子树的先序遍历;
中序遍历:左子树的中序遍历、根节点、右子树的中序遍历;
后序遍历:左子树的后序遍历、右子树的后序遍历、根节点。
题目大概:已知某二叉树的中序和后序遍历结果,求解二叉树和前序遍历结果
解答思路:首先要明确已知遍历结果给我们的信息:
前序遍历:
(规律:根在前;子树在根后且左子树比右子树靠前);
中序遍历: (规律:根在中;左子树在跟左边,右子树在根右边);
后序遍历: (规律:根在后;子树在根前且左子树比右子树靠前);
已知一棵二叉树的后序序列和中序序列,构造该二叉树的过程如下:
1. 根据后序序列的最后一个元素建立根结点;
2. 在中序序列中找到该元素,确定根结点的左右子树的中序序列;
3. 在后序序列中确定左右子树的后序序列;
4. 由左子树的后序序列和中序序列建立左子树;
5. 由右子树的后序序列和中序序列建立右子树。
问题提问:已知一棵二叉树的前序序列和中序序列,构造该二叉树?
过程如下:
1. 根据前序序列的第一个元素建立根结点;
2. 在中序序列中找到该元素,确定根结点的左右子树的中序序列;
3. 在前序序列中确定左右子树的前序序列;
4. 由左子树的前序序列和中序序列建立左子树;
5. 由右子树的前序序列和中序序列建立右子树。