本项目旨在通过数据结构课程设计,探讨并实现算术表达式的二叉树表示及其实现的基本运算,如表达式求值、前序/中序/后序遍历等。
目标是建立一个程序来操作基于二叉树表示的算术表达式。
算法要求如下:
1. 算术表达式Expression可以包含变量(a~z)、常量(0~9)以及运算符(+,-,*,/,^)。需要实现以下功能:
- ReadExpre(E):输入合法的前缀表达式的字符序列,并构造出对应的算术表达式E。
- WriteExpre(E):以带括号的中缀形式输出算术表达式E。
- Assign(V,c):给变量V赋值为c,初值默认为0。
- Value(E):计算并返回算术表达式的数值结果。
- CompoundExpr (P, E1,E2) :生成一个新的复合表达式(E1) P (E2),其中P是运算符。
测试数据包括:
- 输入如下的字符串: 0; a; -91; +a*bc; +*5^x2*8x; +++*3^x3*2^x2x6。
- 对输入的每个表达式中的变量进行赋值,然后计算该表达式的数值结果。