超超哥AI云计算超哥讲AI 出品

社群入口

AI 超哥 Codex 副业群

扫码加入群聊,一起交流 AI、Codex 与副业实践。

原图注明二维码于10月20日前有效;若提示过期或无法入群,请等待更新二维码。

AI 超哥 Codex 副业群入群二维码在新窗口打开原图

栈、队列与双端队列

数据结构与算法基础#Python全栈#第五阶段#数据结构与算法基础#栈、队列与双端队列约 497 字 · 1 分钟阅读
追问显示
点击任意追问卡片可收起 / 展开

栈与队列分别遵循什么取出顺序?

追问 撤销记录、任务排队与层序遍历分别适合哪种结构?

如何使用 list 实现一个栈?

追问 入栈、出栈、读取栈顶与空栈错误如何设计?

为什么频繁使用 list.pop(0) 处理队列可能较慢?

追问 deque 如何支持两端操作?中间位置访问是否同样适合?

如何判断只包含 ()[]{} 的括号字符串是否有效?

追问 空串、错误顺序、多余左括号与右括号如何处理?

如何利用栈实现文本编辑器的撤销与重做?

追问 执行新操作后重做记录应怎样处理,存储整个快照与操作记录有什么差异?

如何计算逆波兰表达式,操作符限定为整数加、减、乘?

追问 操作数顺序、负数、非法 Token 和最终栈大小如何检查?

如何实现能同时读取最小值的栈?

追问 辅助栈如何处理重复最小值?各操作需要多少时间和额外空间?

单调栈解决什么类型的问题?

追问 以“下一个更大元素”为例,为什么每个元素入栈出栈有限次?

有界 deque 与任务队列有什么区别?

追问 deque 达到 maxlen 后追加的行为,为什么不能不加说明地用于不可丢任务?

内存队列、线程任务队列与消息中间件如何区分?

追问 并发等待、容量限制、持久化与失败重试分别需要什么额外机制?