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

方法1

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

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

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

方法2

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

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

  • 遇到数字时,加入后缀表达式;
  • 遇到运算符时:
    • 若为 ,入栈;
    • 若为 ,则依次把栈中的运算符加入后缀表达式中,直到出现 ,从栈中删除
    • 若为除括号外的其他运算符
      • 当其 优先级 高于栈顶运算符时,直接入栈;
      • 否则从栈顶开始,依次弹出 优先级 高于或等于当前运算符的运算符,直到遇到 优先级 更低的运算符或左括号为止。
相关推荐
于樱花森上飞舞12 小时前
【Redis】Redis的数据结构
数据结构·数据库·redis
羊小猪~~12 小时前
LLM--微调(Adapters,Prompt,Prefix)
算法·ai·大模型·llm·prompt·adapters·prefix
未来之窗软件服务12 小时前
SenseVoicecpp ggml-hexagon.cpp大模型[AI人工智能(七十九)]—东方仙盟
人工智能·算法·仙盟创梦ide·东方仙盟
xiaoye-duck12 小时前
《算法题讲解指南:动态规划算法--子数组系列》--25.单词拆分,26.环绕字符串中唯一的子字符串
c++·算法·动态规划
Fcy64812 小时前
算法基础详解(二)枚举算法——普通枚举与二进制枚举
算法·枚举算法
承渊政道12 小时前
【优选算法】(实战:栈、队列、优先级队列高频考题通关全解)
数据结构·c++·笔记·学习·算法·leetcode·宽度优先
py有趣12 小时前
力扣热门100题之将有序数组转为二叉搜索树
算法·leetcode
天若有情67312 小时前
Python精神折磨系列(完整11集·无断层版)
数据库·python·算法
凌波粒13 小时前
LeetCode--383.赎金信(哈希表)
java·算法·leetcode·散列表
xiaoye-duck13 小时前
《算法题讲解指南:动态规划算法--子数组系列》--23.等差数列划分,24.最长湍流子数组
c++·算法·动态规划