二叉树的遍历
1、遍历类型:前序遍历(①访问根节点②前序遍历左子树③前序遍历右子树)、中序遍历(①中序遍历左子树②访问根节点③中序遍历右子树)、后序遍历(①后序遍历左子树②后序遍历右子树③访问根节点)
2、核心思想是:逐步分解,每次以一棵(子)树为单位;当退回来的时候则以该子树为上一级子树的一部分,对上一级子树按照遍历规则来完成为遍历的部分
3、方法:①前序遍历的第一个为整棵二叉树的根节点(后序遍历则是最后一个为整棵树的根节点)②按照中序遍历来,根的左边为左子树,右边为右子树
例子:(考根据前序或者后序+中序遍历来推导出二叉树的模型)已知一棵二叉树的前序遍历序列和中序遍历序列分别为ABCDEFGH和CDBAFEHG,求该二叉树的模型?
(1)由前序遍历的第一个为整棵二叉树的根节点(后序遍历则是最后一个为整棵树的根节点),因此A为整棵树的根节点;
(2)由中序遍历CDBAFEHG和A为根节点可知(按照中序遍历来,根的左边为左子树,右边为右子树),CDB为左子树,FEHG为右子树。
(3)然后先分析左子树,在分析右子树;左子树的前序遍历为BCD,中序遍历为CDB,按照上面(1)(2)的方法来分析,①可知B为根节点,CD组成该树的左子树②按照逐步分解的思想,再以CD来(按照前序为CD,中序为CD)进行分解,C为根,D为右子树)
(4)同理,按照(1)(2)的方法将EFGH进行推理分析,得到最终模型