- 王子祺 的博客
SEARCH---搜索与回溯---子集法和排列法
- 2025-1-18 16:16:44 @
子集法
void search(int t) { //t 表示当前在第t层,即对集合 S 中的第 t 个元素进行判断
if (t > n){ //大于S中总的元素个数 ,遍历完成
处理解
返回
}
for (int i = 0; i < = 1; i++) {
to[t]=i;// 两种可能 加入(1)或者不加入(0)到解集合
search(t + 1); //对 t+1 层进行判断
}
}
排列法
void search(int t) { //t 表示集合 S 的第 t 个元素
if (t > n){
处理解
返回
}
for(当前这层可行的选择){
状态变化
search(t+1)
回溯
}
}