最短深搜
图的遍历_dfs
问题:
从1开始,对图像进行遍历,点与点之间的连线无向
【输入】
n m n代表点的个数,m代表边的个数
a1 a2 点a1到点a2之间有连线
…
【输出】
a1 a2 a3 a4…
思路:
采用深度搜索算法,利用二维数组记录连线的关系
递归进行遍历
设置book数组进行记录走过的点
代码:
import java.util.Scanner;
public class 图的遍历_dfs {
static int sum=0;//记录走过的点数
static int n;
static int[][] arr=new int[10][10];//二维数组记录图与关系
static int[] book=new int[10];
static void dfs(int cur){
//dfs方法,cur当前点
System.out.print(cur+" ");//打印点
sum++;
if (sum==n)//所有点遍历完,结束
return;
for (int i = 1; i < n; i++) {
if (arr[cur][i]==1&&book[i]==0