码迷,mamicode.com
首页 > 其他好文 > 详细

逆波兰表达式(后缀表达式)

时间:2014-06-26 00:03:03      阅读:269      评论:0      收藏:0      [点我收藏+]

标签:style   class   blog   java   http   com   

前/中/后缀表达式的转换

 
 
    自然表达式转换为前/中/后缀表达式,其实是很简单的。首先将自然表达式按照优先级顺序,构造出与表达式相对应的二叉树,然后对二叉树进行前/中/后缀遍历,即得到前/中/后缀表达式。
 
    举例说明将自然表达式转换成二叉树:
 
    a×(b+c)-d
 
    ① 根据表达式的优先级顺序,首先计算(b+c),形成二叉树
    bubuko.com,布布扣
   
    ②然后是a×(b+c),在写时注意左右的位置关系
    bubuko.com,布布扣
 
    ③最后在右边加上 -d
    bubuko.com,布布扣
 
 
    然后最这个构造好的二叉树进行遍历,三种遍历的顺序分别是这样的:
 
    ① 前序遍历:根-左-右
    ② 中序遍历:左-根-右
    ③ 后序遍历:左-右-根
 
    所以还是以刚才的这个例子,在最终二叉树的基础上可以得出:
 
    前缀表达式:-*a+bcd
    中缀表达式:a*b+c-d
    后缀表达式:abc+*d-
 

逆波兰表达式(后缀表达式),布布扣,bubuko.com

逆波兰表达式(后缀表达式)

标签:style   class   blog   java   http   com   

原文地址:http://www.cnblogs.com/loongqiang/p/3804215.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!