中缀表达转后缀表达式小技巧+通过后缀表达式求值

简介: 在考研中,经常会考中缀表达转后缀表达式,那什么是中缀表达?什么是后缀表达式?我举两个例子大家一个就清楚了

0、简介

       在考研中,经常会考中缀表达转后缀表达式,那什么是中缀表达?什么是后缀表达式?我举两个例子大家一个就清楚了

中缀表达式 :2 + (3 * 5)【就是我们平常写的计算的式子】

后缀表达式 :2 3 5 * +

接下来我教大家一个超级好用的小技巧,保证看一眼就会🙆‍♂️

1、中缀表达转后缀表达式小技巧

我以下列式子为例

a + b*c + ( d*e + f ) * g  

首先我们从左向右加括号【先乘除后加减】

然后我们把对应的符号到表达式(括号)外面【只拉一次】

最后去掉括号即为后缀表达式

2、通过后缀表达式求值

我把abcdefg的值代入上式,如下

1 + 2*3 + ( 4*5 + 6 ) * 7  = 189

则该式的后缀表达式为: 123*+45*6+7*+

那我们如何通过后缀表达式求得原式的值呢?

我们先画一个栈,通过栈的特性求出

栈:先进后出

第一步:我们从左到右把数字放到栈中,遇到运算法把栈最上面两个元素弹出

第二步:遇到运算符,把栈顶两个数字弹出,最先弹出的数字方在运算符右边,第二个弹出的数字放到运算符左边。计算出值放入栈中。

注意:两个数字的位置一定不能反,如果运算符为 ‘-’ ,则算出的值就与原值相反。

第三步:继续进行以上操作,知道表达式算完,最后栈中的值就是表达式的值。

相关文章
【逆波兰表达式求值】
【逆波兰表达式求值】
|
2月前
|
算法
数据结构与算法二:栈、前缀、中缀、后缀表达式、中缀表达式转换为后缀表达式
这篇文章讲解了栈的基本概念及其应用,并详细介绍了中缀表达式转换为后缀表达式的算法和实现步骤。
65 3
10_逆波兰表达式求值
10_逆波兰表达式求值
|
2月前
|
存储 C语言
中缀表达式转后缀表达式
本文提供了一个C语言程序,用于将中缀表达式转换为后缀表达式,并计算后缀表达式的结果,包括处理运算符优先级、括号匹配以及基本的四则运算。
52 0
|
4月前
|
算法
【算法】栈算法——逆波兰表达式求值
【算法】栈算法——逆波兰表达式求值
|
7月前
彻底大悟!逆波兰表达式求值(150)
彻底大悟!逆波兰表达式求值(150)
|
7月前
|
索引
【力扣刷题】数组实现栈、后缀表达式(逆波兰表达式)求值、中缀表达式转换为后缀表达式(无括号&&有括号)
【力扣刷题】数组实现栈、后缀表达式(逆波兰表达式)求值、中缀表达式转换为后缀表达式(无括号&&有括号)
62 0
中缀表达式转后缀表达式(逆波兰式)
中缀表达式转后缀表达式(逆波兰式)
183 0
|
7月前
逆波兰表达式求值
逆波兰表达式求值
73 1