递归的一般结构:
void f(){ if(符合的条件){ ... return; } 某种形式的调用 f() }
回溯的一般结构:
void dfs(T t,...){ if(当前状态为边界状态) { 记录或输出 return; } for(i=0;i<n;i++) //横向遍历解答树所有子节点 { //扩展出一个子状态。 修改了全局变量 if(子状态满足约束条件) { dfs(子状态) } 恢复全局变量//回溯部分 } }
原文地址:https://www.cnblogs.com/wkcode/p/10662942.html
时间: 2024-10-29 22:38:04