计算机考研 408 数据结构 中缀转后缀

方法1

将中缀表达式画括号,然后将符号移到对应括号外,去掉所有括号

如:a/b+(c*d-e*f)/g

  • ((a/b) + (((c*d) - (e*f))/g))
  • ab/cd*ef*-g/+

方法2

将中缀表达式转换为后缀表达式的算法思想如下:

初始化一个 操作符栈,从左向右开始扫描中缀表达式;

  • 遇到数字时,加入后缀表达式;
  • 遇到运算符时:
    • 若为 ,入栈;
    • 若为 ,则依次把栈中的运算符加入后缀表达式中,直到出现 ,从栈中删除
    • 若为除括号外的其他运算符
      • 当其 优先级 高于栈顶运算符时,直接入栈;
      • 否则从栈顶开始,依次弹出 优先级 高于或等于当前运算符的运算符,直到遇到 优先级 更低的运算符或左括号为止。
相关推荐
叶小鸡3 分钟前
小鸡玩算法-力扣HOT100-动态规划(上)
算法·leetcode·动态规划
LuminousCPP9 分钟前
数据结构 - 线性表第三篇:基于顺序表实现 C 语言通讯录(基础功能篇)
c语言·数据结构·经验分享·笔记·算法
_日拱一卒13 分钟前
LeetCode:114二叉树展开为链表
java·开发语言·算法
无小道23 分钟前
Redis——哈希类型相关指令
redis·算法·哈希算法
凌波粒25 分钟前
LeetCode--513.找树左下角的值(二叉树)
java·算法·leetcode
一个不知名程序员www25 分钟前
算法学习入门---算法题DAY1
c++·算法
子琦啊30 分钟前
构造函数、this指向和原型链机制
javascript·算法·贴图
WHS-_-202231 分钟前
Millimeter Wave ISAC-SLAM: Framework and RFSoC Prototype
人工智能·算法·原型模式
吃好睡好便好33 分钟前
在Matlab中绘制杆状图
开发语言·学习·算法·matlab·信息可视化
带带弟弟学爬虫__34 分钟前
dyAPP数据采集-个人主页、发布、搜索、评论
服务器·python·算法·flutter·java-ee·django