数据结构怎么还原中序表达式的二叉树a+b*c-d-e/f 为中序表达式,如题,应该有什么规则,请详细一点,最好有步骤图,上面的问题已解决.如果只知道后缀表达式可以还原二叉树吗

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/30 04:46:49

数据结构怎么还原中序表达式的二叉树a+b*c-d-e/f 为中序表达式,如题,应该有什么规则,请详细一点,最好有步骤图,上面的问题已解决.如果只知道后缀表达式可以还原二叉树吗
数据结构怎么还原中序表达式的二叉树
a+b*c-d-e/f 为中序表达式,如题,应该有什么规则,请详细一点,最好有步骤图,
上面的问题已解决.如果只知道后缀表达式可以还原二叉树吗

数据结构怎么还原中序表达式的二叉树a+b*c-d-e/f 为中序表达式,如题,应该有什么规则,请详细一点,最好有步骤图,上面的问题已解决.如果只知道后缀表达式可以还原二叉树吗
根据后缀表达式构造相应的二叉树的算法可如下(先假定‘-’只作为减号运算符,而不存在一元运算的‘-’).
(1)初始化一个空栈s;
(2)从表达式中读入一个字符到ch;
(3)如果ch为字符串结束符,则转到(7);
(4)如果ch为操作数,则构造一个值为ch的叶子结点leaf,将leaf进栈,转到(6);
(5)如果ch为操作符,则构造一个值为ch的分支结点p:
(a)如果栈不空,将栈顶元素出栈到_rchild,并让p->rchild=_rchild.否则算法结束,返回转换失败;
(b)如果栈不空,将栈顶元素出栈到_lchild,并让p->lchild=_lchild,否则算法结束,返回转换失败;
(c)将p进栈;
(6)从表达式中读入下一个字符至ch,转到(3).
(7)如果栈空,返回失败;否则将栈顶元素出栈到root;此时如果栈空,则root即为根,返回成功;否则返回失败.

C++伪代码可如下:
Stack stack;
stack.Init( );
cin>>ch;
while(ch != '\0'){
if(ch Is OperData){
Node* leaf = new Node(ch);
stack.Push(leaf);
}
else{
Node* p = new Node(ch);
if(stack.IsEmpty( )) return NULL;
Node* _rchild = stack.Pop( );
p->rchild = _rchild;
if(stack.IsEmpty( )) return NULL;
Node* _lchild = stack.Pop( );
p->lchild = _lchild;
stack.Push(p);
}
cin >> ch;
}
if(stack.IsEmpty()) return NULL;
root = stack.Pop( );
if(!stack.IsEmpty( )) return NULL;
return root;

数据结构怎么还原中序表达式的二叉树a+b*c-d-e/f 为中序表达式,如题,应该有什么规则,请详细一点,最好有步骤图,上面的问题已解决.如果只知道后缀表达式可以还原二叉树吗 如何将一个表达式转换成二叉树理解表达式a*(b+c)-d的后缀表达式,这个怎么画出二叉树? 数据结构中的树与二叉树已知一算术表达式的中缀形式A+B*C-D/E,后缀ABC*+DE/-,前缀形式为什么 1.具有12个结点的二叉树的二叉链表存储结构中,空链域NULL的个数为( ) A.11 B.13 C.23 D.25这是一道关于数据结构的问题. 数据结构与算法,二叉树,已知前序和中序,求后序,程序怎么设计用C语言 数据结构二叉树问题高度为5的完全二叉树中含有结构点数至少为几个? 数据结构的二叉树问题 假设一棵二叉树的先序序列为ABCDEFGHI,中序序列为BCAEDGHFI,写出其后序序列,并请画出该二叉树. 以下数据结构中哪些不是线性结构 A.有向图 B.栈 C.线索二叉树 D.B树 E.队列 数据结构试题,某二叉树的节点数据采用顺序存储表示如下:0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19EAF D H C GI B(1)试画出此二叉树的图形表示;(2)试给出对该二叉树进行中序遍历的次序;(3)写出 数据结构题 先序序列是ABDEHIKLCFG,中序序列为DBHEKILAFCG.画出此二叉树. 数据结构课程设计!算术表达式与二叉树!【问题描述】一个表达式和一棵二叉树之间,存在着自然的对应关系.写一个程序,实现基于二叉树表示的算术表达式的操作.知识点:二叉树,表达式树, 数据结构 画出表达式的表达式树 实现图的广度优先搜索算法需使用的辅助数据结构为( ) A.栈 B.队列 C.二叉树 还有深度优先, 一道数据结构的题二叉树的先序遍历和中序遍历如下:先序遍历:EFHIGJK;中序遍历:HFIEJKG .该二叉树根的右子树的根是: 数据结构,关于线索二叉树线索二叉树是一种()结构?A,逻辑 B,逻辑和储存 C,D,线性 数据结构二叉树定义问题在下列情况中,可称为二叉树的是( )A.每个结点至多有两棵子树的树 B.哈夫曼树 C.每个结点至多有两棵子树的有序树 D.每个结点只有一棵右子树 E.以上答案都不 (数据结构)有三个数字1,2,3,将它们构成二叉树,中序遍历序列为1,2,3的不同二叉树有______种.可我觉得只有三种啊 有三个数字1,2,3,将它们构成二叉树,中序遍历序列为1,2,3的不同二叉树有______ 数据结构题,中缀表达式A-(B+C/D)*E的后缀表达式是?