深度优化搜索
日期: 2020-02-01 分类: 跨站数据测试 319次阅读
#深度优化搜索
深度优先搜索 : 理解的关键在于解决“当下该如何做”。至于“下一步该如何做”则与“当下该如何做”是一样的
问题 : 求出123的全排列
123 132 213 231 312 321
这里我们可以用一个a数组去存放要排列的数组, 再用一个book数组去标记哪些数已经被使用了 .
#include <stdio.h>
#include <stdlib.h>
int a[5], book[5], n = 3;
void Dfs(int step)
{
int i;
if (step == n + 1){
for (i = 1; i <= n; i++)
printf("%d", a[i]);
printf("\n");
return;
}
for (i = 1; i <= n; i++){
if (book[i] == 0){
a[step] = i;
book[i] = 1;
Dfs(step + 1);
book[i] = 0;
}
}
return;
}
int main()
{
Dfs(1);
system("pause");
return 0;
}
除特别声明,本站所有文章均为原创,如需转载请以超级链接形式注明出处:SmartCat's Blog
精华推荐