回溯法代码框架
Posted JackGo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了回溯法代码框架相关的知识,希望对你有一定的参考价值。
子集树:
void backtrack(int t){ if(t > n) output(x); else{ for(int i = f(n,t); i <= g(n,t);i++){ x[t] = h(i); if(constraint(t) && bound(t)) backtrack(t+1); } } }
排列树:
void backtrack(int t){ if(t > n) output(x); else{ for(int i = f(n,t); i <= g(n,t);i++){ swap(x[t],x[i]); if(constraint(t) && bound(t)) backtrack(t+1); swap(x[t],x[i]); } } }
以上是关于回溯法代码框架的主要内容,如果未能解决你的问题,请参考以下文章