一、介绍:
回溯法是一种纯暴力搜索算法,它往往是和递归挂钩的。既然暴力为什么还要使 用它呢?因为有些问题是使用for循环嵌套都做不出来的,例如 组合问题、字符串切割问题、子集问题、排列问题、棋盘问题。
二、理解:
回溯法都可以抽象成一个树形结构。
三、回溯法模板:
一般回溯函数都起名为 backtracking
void backtracking(参数){
if(终止条件){
收集结果;
return
}
for(遍历元素){
处理结点;
递归函数;
回溯操作(撤销处理结点的情况);
}
return
}
转自 Carl大佬的代码随想录