栈与队列 高频追问 Q&A
A: DFS 需要“后进先出”回溯,BFS 需要“先进先出”按层推进。(深入阅读:深度优先搜索基础知识速览、广度优先搜索基础知识速览)
约 1 分钟
栈与队列 高频追问 Q&A
1. Q: 为什么 DFS 常用栈、BFS 常用队列?
A: DFS 需要“后进先出”回溯,BFS 需要“先进先出”按层推进。(深入阅读:深度优先搜索基础知识速览、广度优先搜索基础知识速览)
2. Q: 单调栈和普通栈差异?
A: 单调栈维持有序性,用于找下一个更大/更小元素。(深入阅读:单调栈:下一个更大元素)
3. Q: 队列能实现栈吗?
A: 能,通过旋转队列保持最近元素在队头。(深入阅读:栈与队列基础知识速览)
4. Q: 栈题常见错误?
A: 忘记处理空栈、结束后残留元素和边界字符。(深入阅读:括号匹配与表达式求值)
5. Q: 什么时候考虑双端队列?
A: 需要同时维护窗口头尾并保持单调性时。(深入阅读:栈与队列基础知识速览、单调队列:滑动窗口最大值)