表达式求值对于有知识经验的人类而言,可以通过认知,按运算符的优先级进行先后运算。但对计算机而言,表达式仅是一串普通的信息而已,需要通过编码的方式告诉计算机运算法则。这个过程则需要借助于栈来实现。
表达式由 2
部分组成:
- 操作数。
- 运算符。
在一个复杂的表达式中,操作数和运算符可以有多个,运算符之间存在优先级,且不同运算符所需要的操作数的数量也有差异。这时,表达式的计算过程就变得较复杂。为了简化问题,本文只限于讨论基于常量操作数和双目运算符的表达式。
在计算机中,表达式的描述可以有以下 3
种:
- 后缀表达式:操作数,操作数,运算符。
- 中缀表达式:操作数,运算符,操作数。数学上最常见的描述方式。
- 前缀表达式:运算符,操作数,操作数。
本视频讲解中缀表达式的求解流程。
可以在解析中缀表达式对之求解,也可以把中缀表达式转换成后缀表达式后再求解。