关于二叉树遍历的快捷思考方法
来源:互联网 发布:淘宝卖鞋子的好店 编辑:程序博客网 时间:2024/06/02 11:06
二叉树遍历有前中后三种方法
前序 : 根>左>右
中序 : 左>根>右
后序 : 左>右>根
有两个题目
类似的方法可以通用
已知一棵二叉树,如果前序遍历的节点顺序是:ADCEFGHB,中序遍历是:CDFEGHAB,则后序遍历结果为 ?
arr1 = [ADCEFGHB]
arr2 = [CDFEGHAB]
step1.
根据前序遍历特点确定根节点,即A;
用类似String.split("A")方法一样分割。
分割arr2=[CDFEGH],[A],[B]。同时把arr1分割,arr1=[A],[DCEFGHB]
由于B被分割出去了,所以arr1可以继续分割为 arr1=[A],[DCEFGH],[B]
这种情况,根节点为A,A的右边只有一个B且B下无子节点
step2.
观察arr1=[DCEFGH] arr2=[CDFEGH]
继续分割 按照step1 得出D是根节点,同时D是A的左叶子节点,C是D的左叶子,C下无叶子节点
然后接着按如上分析,最后GH的分析根据前中序的遍历顺序确定左右
最终结果如图
后序遍历为 左>右>根
有了图,很快顺序就出来了 CFHGEDBA
第二题
后序结果为?
于是按照这样的思路,所不同的是左右都差不多,但是分析方法是一样的,分割处理
可画出二叉树
后序为 3241756
感觉这种方式做笔试题比较好用
感觉还有一种根据染色和长度来确定的顺序,但是暂时没有去研究,先不写了
阅读全文
0 0
- 关于二叉树遍历的快捷思考方法
- 关于二叉树遍历的一些思考
- 关于二叉树后续遍历算法的一点思考
- 二叉树遍历推导的一点思考
- 关于二叉树的几种遍历方法
- 关于二叉树的几种遍历方法
- 关于二叉树的几种遍历方法
- 第13周 关于二叉树的遍历方法
- 关于二叉树的几种遍历方法
- 关于二叉树的几种遍历方法
- 关于二叉树的遍历
- 关于二叉树的遍历
- 关于二叉树的遍历
- 关于二叉树的遍历
- 关于二叉树的遍历
- 关于二叉树的遍历
- 二叉树的几种遍历的方法(后序遍历的另外一种递归实现还需要思考)
- 二叉树的遍历方法
- 【单片机笔记】keil c51编译环境不能跳转函数的解决办法
- datepicker日期插件位置出现错误
- Neutron 理解(14):Neutron ML2 + Linux bridge + VxLAN 组网
- 2017安卓开发接入支付宝支付功能详解,真正做到完全翻译支付宝sdk开发应用
- 200. Number of Islands
- 关于二叉树遍历的快捷思考方法
- 用golang系统包中的处理方法获取goroutine的调用栈
- 省市二级联动
- URL中编码URL特殊字符
- centos 6安装zabbix agent
- 没有拿得出手的项目, 如何在面试/简历中为自己加分?
- 先验分布,后验分布,共轭分布的关系
- Linux:RPM 打包记录
- 注解+aop/拦截器实现防重复点击、机刷