标签:分享 com 树结构 参数 等于 遍历 先序 存储 应用
3、我觉得树这部分挺难,但是挺有意思的,内容比较多,不容易掌握
建op栈,将#进栈
建一个树栈tree
while(表达式未结束)
if(ch==操作数)生成一个只有根节点的子树并进栈
if(ch小于op栈顶运算符)
{
tree栈弹出两个结点作为树T的左右子树
再把T放入tree栈
}
if(ch等于栈顶运算符) op出栈
if(ch大于栈顶运算符) ch进op栈
end while
while(op栈顶元素不等于#)
tree栈弹出两个结点作为树T的左右子树
再把T放入tree栈
end while
主要是在创建表达式树的函数中应用创建简易二叉树的函数时将左右子树弄反了= =
- 1、创建函数
如果n小于等于0 返回NULL
定义一个字符x=根节点pr[0]
应用函数Fine在In中寻找根节点x的位置并赋给k
递归构造左子树,参数为pre+1,in,k
递归构造右子树,参数为pre+1+k,in+1+k,n-k-1
- 2、求树高度
如果树为空 ,返回高度0
否则
递归求左子树高度
递归求右子树高度
返回左右子树高度较高的一方并加1
递归构造右子树的参数写错了
- 1、创建函数
如果n小于等于0 返回NULL
令r=后序序列最后一个值即根结点值
b->data=r
遍历中序序列找到根节点的位置并赋给k
递归构造左子树,参数为post,in,k
递归构造右子树,参数为post+k,p+1,n-k-1
- 2、先序遍历
如果树不为空
输出结点值
递归先序遍历左子树
递归先序遍历右子树
一开始树的结点值用的是字符表示,结果有错误,换成整数就好了
标签:分享 com 树结构 参数 等于 遍历 先序 存储 应用
原文地址:https://www.cnblogs.com/wyb123/p/8995604.html