全排列-DFS-无

简介: 全排列-DFS-无


1. #include<stdio.h>
2. int n,a[10],step,visit[10];
3. void dfs(int step)
4. {
5. if(step==n+1)
6.   {
7. for(int i=1;i<=n;i++)
8.     {
9.  printf("%d  ",a[i]);
10. 
11.   }
12.   printf("\n\n");
13. return ;
14.   } 
15. for(int i=1;i<=n;i++)
16.   {
17. if(visit[i]==0)
18.     {
19.       a[step]=i;
20.       visit[i]=1;
21. dfs(step+1);
22.         visit[i]=0;
23.     }
24.   }
25. return ;
26. }
27. int main()
28. {
29. scanf("%d",&n);
30. dfs(1);
31. return 0;
32. }



相关文章
|
7月前
|
C++
|
算法
DFS and BFS
DFS and BFS
53 0
|
算法
DFS深度优先搜索
DFS深度优先搜索
八皇后(dfs全排列)
八皇后(dfs全排列)
89 0
|
算法 Java C++
力扣429 - N叉树的层序遍历【BFS+DFS】
详细绘图教学和动画制作,附有BFS和DFS的万能模板,来解决二叉树的层序遍历问题
105 0
力扣429 - N叉树的层序遍历【BFS+DFS】
|
存储 算法 PHP
深度优先搜索(DFS)
深度优先搜索(DFS)
256 0
深度优先搜索(DFS)
|
算法 Java 索引
【算法题解】 Day10 BFS | DFS
今天的算法是 「BFS | DFS」 相关,“算法题解系列文章旨在精选重点与易错的算法题,总结常见的算法思路与可能出现的错误,以实战习题的形式理解算法,使用算法。”
108 0
|
算法 Java Python
【算法题解】 Day6 BFS | DFS
今天的算法是 「BFS | DFS」 相关,“算法题解系列文章旨在精选重点与易错的算法题,总结常见的算法思路与可能出现的错误,以实战习题的形式理解算法,使用算法。”
107 0
|
算法
【29. DFS深度优先】
# 概述 - DFS:深度优先遍历,从一条路径走到叶节点,然后回溯,继续遍历(不撞南墙不回头) - BFS:广度优先遍历,从根节点,一层一层的遍历,每一层把所有的节点都遍历完成。 ## 递归思想 - 递归在于不断调用自己的函数,层层深入,直到遇到递归终止条件后层层回溯,其思想与dfs的思想不谋而合;因此,可以使用递归来实现dfs。 - 递归的进入比较容易理解,但是递归的回溯是在计算机底层执行的,我们无法看到。因此这是理解递归的唯一一个难点。
144 0
【29. DFS深度优先】
图的遍历——BFS、DFS
图的两种遍历,深度优先遍历DFS、广度优先遍历BFS
338 1
图的遍历——BFS、DFS