数据结构学习笔记
文章平均质量分 50
一些数据结构的学习笔记
Arctic_Clam
Hello World
展开
-
数据结构条目-单调队列
数据结构条目-单调队列 名称:单调队列 用途: 用于解决滑动窗口类问题,时间复杂度为O(n)。 描述: 单调队列是一个双向队列(既可以在队首操作也可以在队尾操作),同时保证队列内的元素单调递增或递减。 单调队列有4种操作: 往单调队列中新增元素。新元素应该增加在队尾处。当新增元素破坏了单调性时,通过在队尾处删除元素来保证单调性,最后再加入新元素;有时候因为题干的限制,单调队列的长度是有上限的,当长度突破上限,此时应该在队首处删除元素来保证长度限制。 查询队首。 删除队首。 删除队尾。 实现: 通过STL原创 2021-03-30 19:01:30 · 259 阅读 · 0 评论 -
数据结构条例-单调栈
数据结构条例-单调栈 名称:单调栈 用途: 给定一个数组,使用O(n)的时间复杂度确定每个元素的下一个最大值(或最小值)。 描述: 单调栈是一个栈,同时保证栈内元素的单调性。 单调栈有2种操作: 往栈内新增元素。当新元素加入栈内会破坏栈内的单调性时,不停地弹出元素直到新增元素不会破坏栈内的单调性。新增元素就是弹出元素的下一个最大值(或最小值,具体情况视题目而定)。 Pop。与普通栈(stack)的pop无异。 实现: 通过STL的stack可以实现。 题目日志: 洛谷P5788 洛谷P5788代码实现:原创 2021-03-30 18:55:43 · 176 阅读 · 0 评论