08-回溯算法

type
status
date
slug
summary
tags
category
icon
password
回溯算法(Backtracking Algorithm)是一种通过试探性递归搜索的算法思想,常用于解决组合、排列、子集、分割、路径搜索等问题
回溯法是递归的扩展,在递归的过程中进行「剪枝」,一旦发现当前选择无法达到目标就回退到上一步重新尝试其他分支
  • 排序 + 跳过重复元素
  • 提前判断是否可行(如组合中剩余元素不足)
  • 位运算优化状态存储(如 N 皇后)

子集(LeetCode 78)

全排列(LeetCode 46)

组合(LeetCode 77)

N 皇后(LeetCode 51)

 
问题类型
是否适用回溯
所有可能的解
✅ (子集、组合、排列)
约束满足问题(如 N 皇后)
需要枚举并筛选
有剪枝条件
有唯一解/最优解
❌ 更适合动态规划、贪心、二分
 
上一篇
07-分治算法
下一篇
01-JVM类加载机制
Loading...