用java写深度优先算法
时间: 2023-08-04 08:19:07 浏览: 42
以下是用 Java 实现深度优先搜索算法的示例代码:
```java
import java.util.*;
public class DFS {
public static void main(String[] args) {
int[][] graph = { { 0, 1, 1, 0, 0, 0 },
{ 1, 0, 0, 1, 1, 0 },
{ 1, 0, 0, 0, 0, 1 },
{ 0, 1, 0, 0, 0, 1 },
{ 0, 1, 0, 0, 0, 1 },
{ 0, 0, 1, 1, 1, 0 } };
boolean[] visited = new boolean[graph.length];
dfs(graph, visited, 0);
}
public static void dfs(int[][] graph, boolean[] visited, int start) {
visited[start] = true;
System.out.print(start + " ");
for(int i = 0; i < graph.length; i++) {
if(graph[start][i] == 1 && !visited[i]) {
dfs(graph, visited, i);
}
}
}
}
```
在此示例中,我们使用一个邻接矩阵表示图形,并定义一个 `visited` 数组来跟踪每个节点是否被访问过。在 `dfs` 方法中,我们首先将当前节点标记为已访问,并输出它的值。然后,我们遍历与该节点相邻的所有节点,并对未访问的节点递归调用 `dfs` 方法。
以上就是一个简单的用 Java 实现深度优先搜索算法的示例。