zoukankan      html  css  js  c++  java
  • 逆波兰表达式(后缀表达式)

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

     
     
        自然表达式转换为前/中/后缀表达式,其实是很简单的。首先将自然表达式按照优先级顺序,构造出与表达式相对应的二叉树,然后对二叉树进行前/中/后缀遍历,即得到前/中/后缀表达式。
     
        举例说明将自然表达式转换成二叉树:
     
        a×(b+c)-d
     
        ① 根据表达式的优先级顺序,首先计算(b+c),形成二叉树
        
       
        ②然后是a×(b+c),在写时注意左右的位置关系
        
     
        ③最后在右边加上 -d
        
     
     
        然后最这个构造好的二叉树进行遍历,三种遍历的顺序分别是这样的:
     
        ① 前序遍历:根-左-右
        ② 中序遍历:左-根-右
        ③ 后序遍历:左-右-根
     
        所以还是以刚才的这个例子,在最终二叉树的基础上可以得出:
     
        前缀表达式:-*a+bcd
        中缀表达式:a*b+c-d
        后缀表达式:abc+*d-
     
  • 相关阅读:
    NOIP1996 第三题
    vijos P1071
    USACO 2.3
    NOIP2006 第二题(change)
    NOIP2006 第二题
    NOIP2005 第三题
    Building Block 动态规划
    砝码问题 Weight
    装箱问题(Packing DP)
    算法第二章上机实践报告
  • 原文地址:https://www.cnblogs.com/loongqiang/p/3804215.html
Copyright © 2011-2022 走看看