基于二叉树表示的算术表达式求值

一个表达式可以表示为一棵二叉树,写一个程序,实现基于二叉树表示的算术表达式求值。基本要求:
(1)假设算术表达式内可以含有变量(a-z)、常量(0-9)和算术运算符(+,-,*,/)
(2)在程序中,能够给变量指定值(从键盘输入)
(3)能够计算表达式的最后值
测试数据:a*(b+c); 7*3+9/(7-4)
实现提示:
(1)先画出表达式的二叉树逻辑表示(无括号),获得其前缀式,通过键盘以字符串方式输入前缀式(应该是扩展先序系列),经过识别,创建表达式的二叉树表示。
(2)二叉树中的数据元素包括操起符合和操作数,数据元素存储结构可考虑设计为:
typedef struct BiTnode{
char name;
int value;
struct BiTnode *lchild,*rchild;
}BiTnode,*BiTree;
说明:
元素是变量:name存变量名,value存指定的值
元素是常量: name存空字符,value存指定的值
元素是运算符:name存运算符,value存INT_MAX
(3)利用后序遍历求值
哈哈,我自己已经编出来了,不过我还是希望哪位大侠能够把自己的程序贴出来

装吧你!
基于二叉树表示的算术表达式哪有你说的那么简单.
连栈都没涉及。
前缀后缀中缀都可以。笨。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-03-07
这个以前写过 是实验作业 不过现在代码找不到了
第2个回答  2010-06-25
也帮帮我吧,我的邮箱是 [email protected]