public class DeepthTraversal
{
public static void deepTravel(int[][] a, int[] color, int k)
{
System.out.println(k);
color[k] = 1;
for(int i = 0; i < a[k].length; i ++)
{
if(a[k][i] == 1 && color[i] == 0)
{
deepTravel(a, color, i);
}
}
}
public static void main(String[] args)
{
int[][] a = {{0,1,1,1,0},{1,0,1,1,1},{1,1,0,0,0},{1,1,0,0,0},{0,1,0,0,0}};
int[] color = new int[a.length];
deepTravel(a, color, 0);
}
}
{
public static void deepTravel(int[][] a, int[] color, int k)
{
System.out.println(k);
color[k] = 1;
for(int i = 0; i < a[k].length; i ++)
{
if(a[k][i] == 1 && color[i] == 0)
{
deepTravel(a, color, i);
}
}
}
public static void main(String[] args)
{
int[][] a = {{0,1,1,1,0},{1,0,1,1,1},{1,1,0,0,0},{1,1,0,0,0},{0,1,0,0,0}};
int[] color = new int[a.length];
deepTravel(a, color, 0);
}
}
本文介绍了一种基于深度优先搜索(DFS)的图遍历算法,并通过Java代码实现了该算法。具体而言,该算法使用递归的方式进行节点的访问,并通过颜色标记来避免重复访问已经访问过的节点。
635

被折叠的 条评论
为什么被折叠?



