-
二叉树的遍历分为三种:
1.前序遍历
2.中序遍历
3.后序遍历 -
三种遍历的特征
前序遍历:中左右
中序遍历:左中右
后序遍历:左右中 -
根据已知的两种遍历方式求第三种,有三种组合方式
-
第一种情况:已知前序遍历,中序遍历求后序遍历
前序:ABDECFG 中序:DBEAFCG
-
解法:
前序的第一个节点就是根节点,
中序中找到根节点的位置,根节点之前是其左子树,之后是右子树
按此顺序,依次在左子树部分遍历,右子树部分遍历 -
第二种情况:已知后序遍历,中序遍历求后序遍历
后序:ABDECFG 中序:DBEAFCG
-
解法:
前序的第一个节点就是根节点,
中序中找到根节点的位置,根节点之前是其左子树,之后是右子树
按此顺序,依次在左子树部分遍历,右子树部分遍历 -
第三种情况:已知前序遍历和后序遍历求中序遍历
这种情况并不能完全的求出所有情况的二叉树中序遍历。因为由前序和后序并不能完全确定一颗树。但是,如果已知是满二叉树或者完全二叉树的话,我想是可以的。
前序的第一个节点和后序的最后一个节点一定是根节点,如果前序的第二个节点与后序的倒数第二个节点不相等,那么前序的第二节点是根的左子树,后序的倒数第二节点是根的右子树(但是 如果前序的第二个节点与后序的倒数第二个节点相等,那就不能确定到底是左子树还是右子树了,因为缺省一个子树中左与左中,中右与右中都会相等。所以这就需要题目有要求该树的特征了)
-
已知二叉树的前序,中序,后序遍历中的两种求另外一种遍历
最新推荐文章于 2023-04-06 18:22:26 发布