在二叉树的深度优先遍历中分为前序遍历、中序遍历和后序遍历,其中根据前序遍历和中序遍历或后序遍历和中序遍历可以推算出完整的二叉树。
三种遍历方式为:
前序遍历:根节点->左子树->右子树
中序遍历:左子树->根节点->右子树
后序遍历:左子树->右子树->根节点
由上述三种遍历方式可知中序遍历最为重要,因为中序遍历可以确定哪些节点在根节点的左侧,哪些节点在根节点的右侧。
首先根据前序或后序遍历找到根节点,然后根据中序遍历将其他节点分配到根节点两侧,以此方式使用递归的方式可以推算出完整的二叉树。
例题:
已知某二叉树的先序遍历序列为ABCDEF、中序遍历序列为BADCFE,则可以确定();
此处不管要考什么问题,肯定都要推出正确的二叉树才行,根据上述解析,在先序序列中可知A为根节点,根据中序序列可知B在A的左子树上,DCFE在A的右子树上。将DCFE拿出与ABCDEF对比可知C为DCFE中的根节点,即C为A的右子节点,同时可知D在C的左子树上,FE在C的右子树上。重复上述推理,最后得出改二叉树为:
该题选项为
A.是单支树(即非叶子节点都只有一个孩子)
B.高度为4(即节点分布在4层上)
C.根节点的左子树为空
D.根节点的右子树为空
综上所述选B