zoukankan      html  css  js  c++  java
  • 前缀 中缀 后缀表达式

      1.前缀表达式叫波兰式,后缀叫逆波兰式

      2.中缀表达式转另外两个比较简单,前后缀装中缀较麻烦

      3.问题分求表达式还是求值,如果是求值则需要两个栈,一个是操作符栈,一个是操作数栈,等操作符栈入栈完毕后依次出栈,并把操作数栈顶两个操作数计算并将

       结果重新压入栈

      4.只有中缀表达式有括号一说,波兰式和逆波兰式的运算顺序严格定义,不需要括号

      5.计算机并没有中缀计算能力,需转化为波兰式或逆波兰式

      6.波兰式和逆波兰式转中缀的编程题还没见到,只见到填空题有,可能因为计算机更需要的是波兰式和逆波兰式

      7.中缀转逆波兰的方法:

                 

                遇到数字:直接输出
                遇到'(':压栈
                遇到')':持续出栈,如果出栈的符号不是'('则输出,否则终止出栈。
                遇到符号则判断该符号与栈顶符号的运算优先级,如果栈顶符号的运算优先级高,则出栈并输出,直到优先级相等或栈为空;如果栈顶符号的运算优先级低于或等于当前符号的运算优先级,则将当前符号压栈。
                处理完字符串后将栈中剩余的符号全部输出。

      8.中缀转波兰式的方法:

                

                转化为前缀:从右到左遍历中缀表达式,遇到操作数,输出,遇到操作符,当前操作符的优先级大于等于栈顶操作符优先级,进栈,否则,弹出栈顶优先级大于当前操作符的操作符,当前操作符进栈。遇到')':压栈
                遇到'(':持续出栈,如果出栈的符号不是')'则输出,否则终止出栈。处理完字符串后将栈中剩余的符号全部输出。

                

  • 相关阅读:
    Cypher 语句实战
    springboot2.0-统一处理返回结果和异常情况
    IM系统的MQ消息中间件选型:Kafka还是RabbitMQ?
    Dripicons – 精美的扁平风格的免费矢量图标字体
    实用手册:130+ 提高开发效率的 vim 常用命令
    RulersGuides.js – 网站中实现 Photoshop 标尺效果
    分享27款最佳的复古风格 WordPress 主题
    Web 开发人员必备的12款 Chrome 扩展程序
    酷站欣赏:20个精美的国外扁平化网页设计作品
    编码神器——Sublime Text 包管理工具及扩展大全
  • 原文地址:https://www.cnblogs.com/encode/p/4712861.html
Copyright © 2011-2022 走看看