//编写一个有用的回溯算法的关键是编写一个高效的界定函数,他可以在搜索树消除很多不可能的节点
backtrack(n)
{
rbacktrack(1,n);
}
rbacktrack(k,n)
{
for each x[k]-->S
if(bound(k))
if(k==n)
{
//输出一个结果.若只要一个结果,则停止
for i=1 to n
printf(x[i]+" ");
printf("\n");
}
else
rbacktrack(k+1,n);
}
回溯算法的形式
最新推荐文章于 2024-03-02 23:07:07 发布