🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
> 当所给问题是从n个元素组成的集合S中找出满足某一性质的一个子集时,相应的解空间树称为子集树。 - 0-1 背包问题 - 子集和问题 - 装载问题 - 最大团问题 算法描述: ```c++ //x用来存放当前解,constraint()为约束函数,bound()为限界函数 void Backtrack(int t){ if(t > n){ output(x); } //判断能否沿着扩展结点的左分支进行扩展 if(constraint(t)){ //做相关标识 Backtrack(t + 1); //做相关标识的反操作 } //判断能否沿着扩展结点的右分支进行扩展 if(bount(t)){ //做相关标识 Backstrack(t + 1); //做相关标识的反操作 } } ```