堆栈中常见的问题:
问题1: 后缀表达式怎么计算?
问题2: 中缀表达式怎么转换成后缀表达式?
问题3: 回溯算法
问题4: 深度优先搜索
什么是堆栈?
在思考这个问题之前我们先思考计算机是如何进行表达式求值的?
比如:5+6/2-3*7 = ?
正常的人类的算数逻辑是:6/2=3,3*7=21,然后再用5+3-21=-13
但是怎么让计算机去执行呢?
我们可以吧这一段表达式分成两个部分:
- 运算数: 5、6、7等
- 元算符号:+ - * /等
然后我们用后缀表达式来计算
中缀表达式:运算符号位于两个运算数中间(我们常用的)
后缀表达式:运算符号位于两个运算数之后。如:ABC*+DE/-
网友评论