今天上午补了半上午的题,补完题之后又继续看《算法竞赛进阶指南》。开始觉得栈挺简单的,就是只有一个出口,进栈出栈操作都只能在一端进行,后来发现还是我太天真。
表达式计算:
1.后缀表达式:
是遇到数字则把数字入栈,遇到运算符则将栈顶两个元素出栈运算。
2.中缀表达式:
是遇到数则输出该数;遇到左括号则左括号入栈,遇到右括号,不断取出元素进行计算,然后左括号出栈,将新得到的数入栈;遇到运算符,若栈顶符号优先级高于新入栈的,则取出数进行计算,反之把新符号入栈。
中缀表达式的递归法求值我还没有看懂,太难了。。。
单调栈也是,能看懂他的操作,但是没有想明白为什么,今天再继续看吧。
晚上做题做的简直是崩溃,一道题卡超时卡了我五遍,后来的题思路也没想到,还是思维不行,得多练练。