回溯 高频追问 Q&A
A: 回溯是带剪枝的系统枚举,能提前砍掉无效分支。(深入阅读:回溯基础知识速览)
约 2 分钟
回溯 高频追问 Q&A
1. Q: 回溯和暴力枚举区别?
A: 回溯是带剪枝的系统枚举,能提前砍掉无效分支。(深入阅读:回溯基础知识速览)
2. Q: 组合、排列、子集模板差异?
A: 组合靠 start 控制顺序;排列靠 used 防重复;子集每层先收集路径。(深入阅读:组合与子集标准模板、排列与去重)
3. Q: 去重常见写法?
A: 排序 + 同层去重(i > start && nums[i] === nums[i-1])。(深入阅读:排列与去重、组合与子集标准模板)
4. Q: 剪枝怎么设计?
A: 用上下界估计、剩余可选数量判断、约束冲突立即返回。(深入阅读:回溯基础知识速览、N 皇后:约束搜索与剪枝)
5. Q: N 皇后为何效率高于纯暴力?
A: 列与对角线冲突可 O(1) 检查,显著剪枝。(深入阅读:N 皇后:约束搜索与剪枝)
6. Q: 回溯复杂度怎么答?
A: 一般按“分支因子^深度”估算,再说明剪枝后实际会更小。(深入阅读:回溯基础知识速览、复杂度分析方法与陷阱)