回溯算法

103 阅读1分钟

回溯 <---->递归1.递归的下面就是回溯的过程

2.回溯法是一个 纯暴力的 搜索

3.回溯法解决的问题:

3.1组合 如:1234 两两组合

3.2切割问题 如:一个字符串有多少个切割方式 ,或者切割出来是回文

3.3子集 : 1 2 3 4 的子集

3.4排列问题(顺序)

3.5棋盘问题:n皇后 解数独

4.回溯可抽象成树形结构

5.void backtracking(){

if(终止条件) {

收集结果

return

}

for(集合的元素集,类似子节点的个数)

{

处理结点

递归函数;

回溯操作

(撤销处理结点12, 2撤销 ,13 撤销3, 14)

}

}