首页 > 其他分享 >栈和队列

栈和队列

时间:2024-02-07 20:12:12浏览次数:21  
标签:deque 队列 queue int front stack

栈如同叠猫猫,而队列就像猫猫排队。
两者分别代表着先入后出和先入先出的逻辑关系。

「栈 stack」是一种遵循先入后出的逻辑的线性数据结构。

我们可以将栈类比为桌面上的一摞盘子,如果需要拿出底部的盘子,则需要先将上面的盘子依次取出。我们
将盘子替换为各种类型的元素(如整数、字符、对象等),就得到了栈数据结构。

如图 5‑1 所示,我们把堆叠元素的顶部称为“栈顶”,底部称为“栈底”。将把元素添加到栈顶的操作叫做“入
栈”,删除栈顶元素的操作叫做“出栈”。

5.1.1 栈常用操作
栈的常用操作如表 5‑1 所示,具体的方法名需要根据所使用的编程语言来确定。在此,我们以常见的 push()、
pop()、peek() 命名为例。

表 5‑1 栈的操作效率

方法 描述 时间复杂度

push() 元素入栈(添加至栈顶)

标签:deque,队列,queue,int,front,stack
From: https://www.cnblogs.com/lulixiu1999/p/18011241

相关文章

  • 详解golang实现一个带时效的环形队列
    1.需求mysql执行时间超过100ms以上打warn日志,但是一分钟以内这种warn日志超过10条就需要告警。所以需求就是获得一分钟以内mysql的warn的个数。2.分析为什么使用环形队列而不使用slice?因为队列长度固定,所以可以一开始就分配好空间,不用自动扩容,环形的目的就是不用改变数组的值,只用移......
  • [数据结构] 队列
    队列的基本概念队列(Queue),是一种操作受限的线性表,只允许在表的一端进行插入,而在表的另一端进行删除。向队列中插入元素称为入队,删除元素称为出队。其操作特性是先进先出队列的常见操作:函数名功能InitQueue(*Q)初始化队列,构造一个空队列QQueueEmpty(Q)判断队列空......
  • 单调队列优化DP&斜率优化&四边形不等式
    在本文中,我们将通过一道题来浅谈DP优化三大妈。P3195[HNOI2008]玩具装箱-洛谷|计算机科学教育新生态(luogu.com.cn)对于这种类型的题目,我们一般可以转化为如下形式:那么,$val(i,j)$又通常分为两种情况:其值仅与$i,j$中的一个有关。其值与$i,j$两者都有关。单调队列......
  • 并发容器【ConcurentHashMap、CopyOnWriteArrayList、阻塞队列、ArrayBlockingQueue】
    (并发容器)转自极客时间什么是并发容器?在JUC包中,有一大部分是关于并发容器的,如ConcurrentHashMap,ConcurrentSkipListMap,CopyOnWriteArrayList及阻塞队列。这里将介绍使用频率、面试中出现频繁的最高的ConcurrentHashMap和阻塞队列。注意:这里说到的容器概念,相当于我们理解中......
  • 单调队列优化DP
    单调队列在DP中的基本应用,是对这样一类DP状态转移方程进行优化:\(dp[i]=\min\{dp[j]+a[i]+b[j]\},L(i)\lej\leR(i)\)。方程中的\(\min\)也可以是\(\max\),方程的特点是其中关于\(i\)的项\(a[i]\)和关于\(j\)的项\(b[j]\)是独立的,而\(j\)被限制在窗口......
  • 单调队列及单调队列优化DP
    首先是单调队列: 其实单调队列就是一种队列内的元素有单调性(单调递增或者单调递减)的队列,答案(也就是最优解)就存在队首,而队尾则是最后进队的元素。因为其单调性所以经常会被用来维护区间最值或者降低$DP$的维数已达到降维来减少空间及时间的目的。类似于滑动窗口等,单调队列具有......
  • kafka系列(一)【消息队列、Kafka的基本概念、Kafka的工作机制、Kafka可满足的需求、Kafk
    (kafka系列一)一、消息队列1.消息队列的来源在高并发的应用场景中,由于来不及同步处理请求,接收到的请求往往会发生阻塞。例如,大量的插入、更新请求同时到达数据库,这会导致行或表被锁住,最后会因为请求堆积过多而触发“连接数过多的异常”(TooManyConnections)错误。因此,在高......
  • 如何实现一个延迟队列?
    延迟队列是我们日常开发过程中,经常接触并需要使用到的一种技术方案。前些时间在开发业务需求时,我也遇到了一个需要使用到延迟消息队列的需求场景,因此我也在网上调研了一系列不同的延迟队列的实现方案,在此进行了一个总结并且给大家进行分享。延迟队列定义首先,队列这种数据结构相信大......
  • 单调队列
    单调队列是一种内部元素具有单调性的队列,可以解决求“区间内最值”的问题。例:P1886滑动窗口/【模板】单调队列分析:暴力枚举的方式是进行\(n-k\)次循环,每次查找长度为\(k\)区间的最值,这样的算法时间复杂度是\(O(nk)\)的,无法通过这个题目。以下分析以最大值为例,最小值同......
  • 苏维埃日报06.栈与队列的最简单实现(?)
    前言当年学数据结构的时候被栈和队列虐傻了当年真的没搞清这俩的进出顺序现在回过头来发现,退役了反而有点会了一个不恰当的比喻就像核糖体在mRNA上合成肽链一样,栈和队列的数据读入也是逐个读入但输出的时候,数据是带特定顺序输出的,如栈先进后出,队列先进先出,但是线性多肽水解......