二叉树深度优先遍历

简介: 二叉树深度优先遍历

在二叉树的深度优先遍历中分为前序遍历、中序遍历和后序遍历,其中根据前序遍历和中序遍历或后序遍历和中序遍历可以推算出完整的二叉树。


三种遍历方式为:

前序遍历:根节点->左子树->右子树

中序遍历:左子树->根节点->右子树

后序遍历:左子树->右子树->根节点


由上述三种遍历方式可知中序遍历最为重要,因为中序遍历可以确定哪些节点在根节点的左侧,哪些节点在根节点的右侧。


首先根据前序或后序遍历找到根节点,然后根据中序遍历将其他节点分配到根节点两侧,以此方式使用递归的方式可以推算出完整的二叉树。


例题:

已知某二叉树的先序遍历序列为ABCDEF、中序遍历序列为BADCFE,则可以确定();


此处不管要考什么问题,肯定都要推出正确的二叉树才行,根据上述解析,在先序序列中可知A为根节点,根据中序序列可知B在A的左子树上,DCFE在A的右子树上。将DCFE拿出与ABCDEF对比可知C为DCFE中的根节点,即C为A的右子节点,同时可知D在C的左子树上,FE在C的右子树上。重复上述推理,最后得出改二叉树为:

20201013165153371.png

该题选项为

A.是单支树(即非叶子节点都只有一个孩子)

B.高度为4(即节点分布在4层上)

C.根节点的左子树为空

D.根节点的右子树为空


综上所述选B


相关文章
|
3月前
|
存储 算法 Java
二叉树层序遍历
二叉树层序遍历
24 0
|
3月前
|
算法
【二叉树】层序遍历
【二叉树】层序遍历
48 0
|
3月前
|
存储 算法 前端开发
589. N 叉树的前序遍历
589. N 叉树的前序遍历
21 0
深度优先遍历与广度优先遍历
深度优先遍历与广度优先遍历
|
存储 搜索推荐
【二叉树OJ题(二)】前序遍历&&中序遍历&&后序遍历&&另一颗树的子树&&二叉树遍历&&平衡二叉树(下)
【二叉树OJ题(二)】前序遍历&&中序遍历&&后序遍历&&另一颗树的子树&&二叉树遍历&&平衡二叉树(下)
【二叉树OJ题(二)】前序遍历&&中序遍历&&后序遍历&&另一颗树的子树&&二叉树遍历&&平衡二叉树(上)
【二叉树OJ题(二)】前序遍历&&中序遍历&&后序遍历&&另一颗树的子树&&二叉树遍历&&平衡二叉树(上)
二叉树的层次遍历
层次遍历就是即逐层地,从左到右访问所有节点
二叉树的层次遍历
107.二叉树的层序遍历II
最近在搞算法,也是在网上找了很多的资源去学习,下面就分享一道leetcode的算法题,也算提供一种思路。
107.二叉树的层序遍历II