# 队列
队列(Queue)主要处理的问题是广度优先遍历(不论是针对树还是图,可以把树理解为图的特殊形式)。
单独考查队列的问题不多,通常是在「广度优先遍历」中使用「队列」。
# 题型一:基本的使用队列解决的问题
所有的使用广度优先遍历解决的问题,都使用了队列。
题号 | 题目序号 | 题解 |
---|---|---|
622 | 设计循环队列 (opens new window)(中等) | 数组实现的循环队列 (opens new window) |
641 | 设计循环双端队列 (opens new window)(中等) | 数组实现的循环双端队列 (opens new window) |
621 | 任务调度器 (opens new window)(中等) | |
1306 | 跳跃游戏 III(中等) (opens new window)(中等) |
# 题型二:单调队列
单调队列就是普通的队列。「力扣」上的单调队列目前就发现这一个问题,关键分析清楚为什么设计的算法恰好使得单调队列。另外,「背包问题」中有使用单调队列进行优化的例子,感兴趣的朋友可以了解一下,是竞赛方面的知识。
经验:单调队列中一般存下标。
题号 | 链接 | 题解 |
---|---|---|
239 | 滑动窗口最大值 (opens new window)(中等) | 文字题解 (opens new window) |
#
作者:liweiwei1419 链接:https://suanfa8.com/queue 来源:算法吧 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。