Deque队列
算法_Deque队列的使用
deque 的核心操作演示
1. 创建 deque
1 | from collections import deque |
2. 入队操作(添加元素)
1 | q = deque([1, 2]) |
3. 出队操作(取出元素)
1 | q = deque([1, 2, 3, 4]) |
4. 查看元素(不取出)
1 | q = deque([1, 2, 3]) |
5. 其他常用操作
1 | q = deque([1, 2, 3]) |
五、为什么不用 list 而用 deque?
1 | # 用 list 模拟队列(不推荐) |
关键区别:
list.pop(0)的时间复杂度是 O(n)(需要移动所有元素)deque.popleft()的时间复杂度是 O(1)(专门优化)
七、常见的 deque 使用场景
场景1:二叉树层序遍历(你的代码)
1 | def levelOrder(root): |
场景2:滑动窗口最大值
1 | def maxSlidingWindow(nums, k): |
场景3:最近使用缓存
1 | class LRUCache: |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 This is a 部落格 of outbreak_sen!


