Climber.pI的OI之路

Through the darkest dark,may we see the light.

[整理]表达式树

[原文]http://blog.csdn.net/guocai_yao/archive/2009/04/11/4065718.aspx

1.树的遍历法
通过中缀表达式,构造表达式树,然后利用前序或者后序遍历.

2.括号转移法
这里我给出一个中缀表达式

a+b*c-(d+e)

第一步:按照运算符的优先级对所有的运算单位加括号

           式子变成拉:((a+(b*c))-(d+e))
第二步:转换前缀与后缀表达式
        前缀:把运算符号移动到对应的括号前面
                则变成拉:-( +(a *(bc)) +(de))
                把括号去掉:-+a*bc+de  前缀式子出现
        后缀:把运算符号移动到对应的括号后面
                则变成拉:((a(bc)* )- (de)+ )-
                把括号去掉:abc*-de+-  后缀式子出现
发现没有,前缀式,后缀式是不需要用括号来进行优先级的确定的。

posted on 2010-10-11 20:50 Climber.pI 阅读(318) 评论(0)  编辑 收藏 引用 所属分类: 数据结构


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理