是否有中序创建二叉树
来源:互联网 发布:乐乎宝山老来俏 编辑:程序博客网 时间:2024/06/05 08:08
作者:iampsl@qq.com
先序创建二叉树,数据结构教程中都有很详细的代码说明,但书中并没有提到是否有中序,后序创建二叉树。若有,又应该怎么创建,代码应该怎么写。
问题
一:是否有中序创建二叉树?
如上图二叉树,若有中序创建二叉树,则输入的字符串应该为:ΦBΦDΦCΦAΦEΦ
而下图的二叉树,若有中序创建二叉树,则输入的字符也为ΦBΦDΦCΦAΦEΦ
说明单单凭输入的字符ΦBΦDΦCΦAΦEΦ,则有多种二叉树与其对应,故计算机是不可能为你生成你想要的结果,因为计算机处理的代码不能有二义。
二,是否有后序创建二叉树?
还是以这个二叉树为例,假设有后序创建二叉树,则创建的字符串为:ΦΦΦDΦCBΦΦEA
由于是后序的,所以最后一个非空字符一定是这颗二叉树的根结点,当然最后一定是一个非空结点,若不是,则只能说明是一颗空树。若我们把这个后序字符串反转一下变为: AEΦΦBCΦDΦΦΦ,则得到的这个字符串我们可以把它看作是如此遍序得到的,先访问根结点,再访问右子树,最后访问左子树,我把这种访问方式叫做反先序,注意在访问每一颗子树时,都是以这种反先序进行访问的,可以很明显看出来这和先序访问在本质上是没有区别的,只是先右后左,而先序创建二叉树能行,故后序创建二叉树也一样行,那应该怎么创建呢,其实很简单,首先得到输入的创建字符串,然后再返转字符串,最后按到先创建根结点,再创建右子树,最后创建左子树进行递归调用。
- 是否有中序创建二叉树
- 二叉树创建&判断是否有序二叉树&树的深度
- 二叉树是否相等
- 二叉树是否对称
- 二叉树是否相同
- 是否完全二叉树
- 是否二叉搜索树
- 是否二叉搜索树
- 判断二叉树是否平衡二叉树
- 判断二叉树是否二叉查找树
- 【二叉树】判断二叉树是否对称
- js判断是否二叉树是否对称
- 创建二叉树 创建单链表
- 判断二叉树是否相似
- 判断二叉树是否平衡
- 判断二叉树是否平衡
- 判断二叉树是否对称
- 判断二叉树是否平衡
- mongoDB命令学习
- c++ 虚函数的实现机制
- 关于windows绘图函数StretchDIBits
- CString、LPSTR、std::string、LPCSTR之间的转换
- linux设备驱动总线模型实现
- 是否有中序创建二叉树
- 把ndk作为独立编译器
- 苹果第3季度推iPhone5 全新流线型设计
- strace
- 利用PANEL来控制窗体的技巧
- 键盘按键伪码
- Instagram 架构分析笔记
- 搭建mpi并行运算中遇到的问题与解决方案
- DB2 exists子句会过滤掉所用的本条记录