遍
历子集树需O(2n)计算时间
void backtrack (int t)
{
if (t>n) output(x);
else
for (int i=0;i<=1;i++) {
x[t]=i;
if (legal(t)) backtrack(t+1);
}
}
Ø
遍历子集树需
O(n!)
计算时间
Ø
void backtrack (
int
t)
Ø
{
Ø
if (t>n) output(x);
Ø
else
Ø
for (
int
i
=
t;i
<=
n;i
++) {
Ø
x[t]=
i
;
Ø
if (legal(t)) backtrack(t+1);
Ø
}
Ø
}