回溯法
1.基本策略
在包含问题的所有解的解空间树中,按照深度优先搜索的策略,深度搜索解空间树。当搜索到某一节点时,要先判断该节点是否包含问题的解,如果包含,就从该节点出发继续探索下去,如果该节点不包含问题的解,则逐层向其祖先节点回溯,知道探索到叶节点则结束本次遍历。
2.使用步骤
1.定义问题的解空间
2.确定易于搜索的解空间结构
3 以深度优先搜索的策略搜索解空间,并在搜索过程中用剪枝函数避免无效搜索。
backtrack(开始回溯的初始条件){
if(结束回溯条件){
保存本趟完整的回溯结果
return;
}
if(满足本次判断的条件){
记录本趟某一次的回溯结果
backtrack(进行下一模块的回溯);
回退本趟某一次的回溯结果
}
}
参考链接:回溯法.
379

被折叠的 条评论
为什么被折叠?



