代码随想录算法训练营第十二天|栈与队列总结

栈里面的元素在内存中是连续分布的么?

  • 陷阱1:栈是容器适配器,底层容器使用不同的容器,导致栈内数据在内存中不一定是连续分布的。
  • 陷阱2:缺省情况下,默认底层容器是deque,那么deque在内存中的数据分布是什么样的呢? 答案是:不连续的,下文也会提到deque。

栈经典题目

1. 栈在系统中的应用,递归的实现是栈:每一次递归调用都会把函数的局部变量、参数值和返回地址等压入调用栈中

2. 括号匹配问题

3. 字符串去重问题,把字符串顺序放到一个栈中,然后如果相同的话 栈就弹出,这样最后栈里剩下的元素都是相邻不相同的元素了

4. 逆波兰表达式问题,每一个子表达式要得出一个结果,然后拿这个结果再进行运算

队列的经典题目

1. 滑动窗口最大值问题,单调队列,单调队列不是一成不变的,而是不同场景不同写法,总之要保证队列里单调递减或递增的原则

2. 求前K个高频元素,优先级队列。对外接口只是从队头取元素,从队尾添加元素,再无其他取元素的方式,看起来就是一个队列。

你可能感兴趣的:(开发语言,python)