堆栈

作者: MentallyL | 来源:发表于2017-05-07 21:35 被阅读8次

    堆栈中常见的问题:

    问题1: 后缀表达式怎么计算?
    问题2: 中缀表达式怎么转换成后缀表达式?
    问题3: 回溯算法
    问题4: 深度优先搜索


    什么是堆栈?
    在思考这个问题之前我们先思考计算机是如何进行表达式求值的?

    比如:5+6/2-3*7 = ?

    正常的人类的算数逻辑是:6/2=3,3*7=21,然后再用5+3-21=-13
    但是怎么让计算机去执行呢?

    我们可以吧这一段表达式分成两个部分:

    1. 运算数: 5、6、7等
    2. 元算符号:+ - * /等

    然后我们用后缀表达式来计算

    中缀表达式:运算符号位于两个运算数中间(我们常用的)
    后缀表达式:运算符号位于两个运算数之后。如:ABC*+DE/-

    进栈出栈示意图

    屏幕快照 2017-05-17 23.16.33.png

    中缀表达式如何转换为后缀表达式

    屏幕快照 2017-05-17 23.16.33的副本.png

    相关文章

      网友评论

          本文标题:堆栈

          本文链接:https://www.haomeiwen.com/subject/cxgutxtx.html