回溯算法的原理是深度优先搜索(dfs),然后分析题目寻找剪枝的方法以此来优化算法,降低时间复杂度。
回溯算法有一个很简单的模板
void backtrack(arg1, arg2,...){
for(candidate:candidates){
add(candidate);
backtrack(arg1_nextstage, arg2_nextstage,...);
remove(candidate);
}
}
回溯算法的原理是深度优先搜索(dfs),然后分析题目寻找剪枝的方法以此来优化算法,降低时间复杂度。
回溯算法有一个很简单的模板
void backtrack(arg1, arg2,...){
for(candidate:candidates){
add(candidate);
backtrack(arg1_nextstage, arg2_nextstage,...);
remove(candidate);
}
}