【问题描述】
一个表达式和一棵二叉树之间,存在着自然的对应关系.写一个程序,实现基于二叉树表示的算术表达式的操作.
知识点:二叉树,表达式树,二叉树遍历
难度级:★★★
【任务要求】
假设算术表达式 Expression 内可以含有变量(a~z)、常量(0~9)和二元运算符(+,-,*,/,^(乘幂)).
实现以下操作:
1) ReadExpre(E)—以字符序列的形式输入语法正确的前缀表达式并构造表达式 E.
2) WriteExpre(E)—用带括弧的中缀表达式输出表达式 E.
3) Assign(V,c)—实现对变量 V的赋值(V=c),变量的初值为0.
4) Value(E)—对算术表达式 E求值.
5) CompoundExpr(P,E1,E2)--构造一个新的复合表达式(E1)P(E2)
【测试数据】
1) 分别输入0;a;-91;+a*bc;+*5^x2*8x;+++*3^x3*2^x2x6 并输出.
2) 每当输入一个表达式后,对其中的变量赋值,然后对表达式求值.
急急急!设计一个程序实现基于二叉树的算术表达式的操作 求代码 有重谢!
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
悬赏问题
- ¥15 素材场景中光线烘焙后灯光失效
- ¥15 请教一下各位,为什么我这个没有实现模拟点击
- ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
- ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
- ¥20 有关区间dp的问题求解
- ¥15 多电路系统共用电源的串扰问题
- ¥15 slam rangenet++配置
- ¥15 有没有研究水声通信方面的帮我改俩matlab代码
- ¥15 ubuntu子系统密码忘记
- ¥15 保护模式-系统加载-段寄存器