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

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

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*+

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

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

栈:先进后出

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

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

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

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

相关文章
|
算法
数据结构与算法-(7)---栈的应用拓展-前缀表达式转换+求值
数据结构与算法-(7)---栈的应用拓展-前缀表达式转换+求值
274 1
|
SQL 算法 关系型数据库
MySQL-MGR部署
MySQL-MGR部署
422 0
MySQL-MGR部署
|
Java 微服务 Spring
@EnableDiscoveryClient注解的作用
@EnableDiscoveryClient注解的作用 @EnableDiscoveryClient 及@EnableEurekaClient 类似,都是将一个微服务注册到Eureka Server(或其他 服务发现组件,例如Zookeeper、Consul等)
2172 0
|
Java Android开发 iOS开发
深入探讨移动操作系统的性能优化:安卓与iOS的对比分析
在现代移动设备中,操作系统的性能优化至关重要。本文从系统架构、内存管理、电池续航和应用程序运行效率等多个维度,深入探讨了安卓(Android)和iOS两大主流移动操作系统的优化策略及其实际效果,旨在为开发者和用户提供更清晰的了解和选择依据。
1879 27
中缀表达式转后缀表达式(逆波兰式)
中缀表达式转后缀表达式(逆波兰式)
1603 0
|
存储 算法 数据处理
|
存储 Kubernetes 调度
深入理解Kubernetes中的Pod与Container
深入理解Kubernetes中的Pod与Container
953 0
|
算法 安全 物联网
什么是ECC?ECC 和 RSA 之间有何区别?
什么是ECC?ECC 和 RSA 之间有何区别?
3069 1
|
存储 缓存 算法
《信息物理融合系统(CPS)设计、建模与仿真——基于 Ptolemy II 平台》——第3章 数据流 3.1同步数据流
Ptolemy II 能够使异构系统的开发和仿真一同进行,将开发和仿真作为整个系统建模的一部分。正如前两章讨论的那样,不同于其他设计和建模环境,Ptolemy II的一个关键创新在于支持多种计算模型,这些计算模型可被剪裁以适应具体的建模问题。
2051 0
|
机器学习/深度学习 存储 算法
【机器学习】支持向量机 SVM(非常详细)
SVM 想要的就是找到各类样本点到超平面的距离最远,也就是找到最大间隔超平面。
【机器学习】支持向量机 SVM(非常详细)

热门文章

最新文章