子集树与排列树的伪代码

子集树与排列树的伪代码

历子集树需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);
Ø }
Ø}

你可能感兴趣的:(代码)