二叉树恢复
来源:互联网 发布:搜狐影音for mac 编辑:程序博客网 时间:2024/04/30 07:47
一、已知二叉树的前序序列和中序序列,求解树。
1、确定树的根节点。树根是当前树中所有元素在前序遍历中最先出现的元素。---》从前序遍历第一个元素入手。找到结合中序分成两半
2、求解树的子树。找出根节点在中序遍历中的位置,根左边的所有元素就是左子树,根右边的所有元素就是右子树。若根节点左边或右边为空,则该方向子树为空;若根节点左边和右边都为空,则根节点已经为叶子节点。
3、递归求解树。将左子树和右子树分别看成一棵二叉树,重复1、2、3步,直到所有的节点完成定位。
二、已知二叉树的后序序列和中序序列,求解树。
1、确定树的根。树根是当前树中所有元素在后序遍历中最后出现的元素。----》从后序遍历最后一个元素入手。找到结合中序分成两半
2、求解树的子树。找出根节点在中序遍历中的位置,根左边的所有元素就是左子树,根右边的所有元素就是右子树。若根节点左边或右边为空,则该方向子树为空;若根节点左边和右边都为空,则根节点已经为叶子节点。
3、递归求解树。将左子树和右子树分别看成一棵二叉树,重复1、2、3步,直到所有的节点完成定位。
举例说明:根据已知求解二叉树
中序序列 BDCEAFHG
后序序列 DECBHGFA
1、BDCEAFHG在后序序列中最后出现的元素为A,BDCE|A|FHG
2、BDCE在后序序列中最后出现的元素为B,|B|DCE|A|FHG
3、FHG在后序序列中最后出现的元素为F,|B|DCE|A||F|HG
4、DCE在后序序列中最后出现的元素为C,|B|D|C|E|A||F|HG
5、HG在后序序列中最后出现的元素为G,|B|D|C|E|A||F|H|G|
6、所有元素都已经定位,二叉树求解完成。
A / \ B F \ \ C G / \ / D E H
- 恢复二叉树
- 二叉树的恢复
- 二叉树恢复解析
- 二叉树的恢复
- 二叉树的恢复
- 恢复二叉搜索树
- 恢复二叉搜索树
- 二叉树恢复
- 二叉树的恢复
- 二叉树之恢复
- 二叉树的恢复
- 二叉树的恢复
- 遍历结果恢复二叉树
- 遍历序列恢复二叉树
- 二叉树的还原恢复
- hdu 1710恢复二叉树
- 遍历序列恢复二叉树
- HDU 1710 二叉树恢复与遍历
- retrofit2上传文件参数问题
- linux下memcached的安装
- SQLiScanner:又一款基于SQLMAP和Charles的被动SQL 注入漏洞扫描工具
- UniversalImageLoader实现无图模式
- 给UIButton里面的文本文字加shadow
- 二叉树恢复
- 码农周刊分类整理
- 文章标题
- The Best Gift
- Android Audio架构
- Java语法糖1:可变长度参数以及foreach循环原理
- android 将小图片平铺显示的做法
- iOS 开发常用宏
- C++调用java方法——这样也可以?