public class Backtrack {
public void backtracking (/*参数*/) {
/*
定义两个成员变量
一个收集满足要求的 结果
一个收集 作为中途尝试的值,进行回退
*/
/*
if (终止条件) {
存放结果
终止本层循环
return;
}
遍历本层集合中的元素
for (选择:本层集合中元素[树中节点孩子的数量就是集合的大小]) {
处理节点;
backtracking(路径,选择列表); // 递归
回溯,撤销处理结果
}
*/
}
}
回溯算法的模板
最新推荐文章于 2024-02-03 22:32:31 发布