跳到正文
前端知识库
算法

栈与队列 高频追问 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: 需要同时维护窗口头尾并保持单调性时。(深入阅读:栈与队列基础知识速览单调队列:滑动窗口最大值