开发者社区> 问答> 正文

数据结构里 波兰是 和 逆波兰式 是什么意思 有什么区别

数据结构里 波兰是 和 逆波兰式 是什么意思 有什么区别

展开
收起
知与谁同 2018-07-19 14:58:50 1604 0
2 条回答
写回答
取消 提交回答
  • 云栖社区聚能聊、问答管理员~发福利、搞怪,八卦我来,论技术、发话题、写博客你上!
    如:我们平时写a+b,这是中缀表达式,写成后缀表达式就是:ab+   (a+b)*c-(a+b)/e的后缀表达式为:   (a+b)*c-(a+b)/e   →((a+b)*c)((a+b)/e)-   →((a+b)c*)((a+b)e/)-   →(ab+c*)(ab+e/)-   →ab+c*ab+e/- 我就知道这些了
    2019-07-17 22:53:12
    赞同 展开评论 打赏
  • 波兰式又称中缀式
    逆波兰式又称后缀式
    还有一个前缀式

    中缀式:
    根据算符间的优先关系来确定运算的次序,此外,还应顾及括号规则
    如 (A+B)*(C+D) =
    运算法则符合我们正常的运算规律

    后缀式是有中缀式所得
    如 AB+CD+*
    运算法则,从从左到右依次进栈,遇见字母入栈,遇见运算符,将前两个字母弹出,进行运算符计算后,将值在入栈,重复此过程
    A入栈,B入栈,遇到+,A、B弹出,(A+B)入栈,C入栈,D入栈,遇见+,C、D弹出,(C+D)入栈,遇见*,(A+B)、(C+D)弹出,(A+B)*(C+D)入栈,最终栈里面的只有一个元素,该元素的值就为计算结果

    前缀式:就是后缀式的逆序
    即*+DC+BA
    从右到左依次入栈,只是跟后缀式入栈方向相反,过程相同
    2019-07-17 22:53:12
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
如何使用Tair增强数据结构构建丰富在线实时场景 立即下载
Apache Flink 流式应用中状态的数据结构定义升级 立即下载
数据+算法定义新世界 立即下载