Java 邻接表G中顶点v出发深度优先遍历
时间: 2023-07-24 07:40:11 浏览: 75
java使用邻接表对图进行深度和广度优先遍历
以下是 Java 邻接表中顶点v出发的深度优先遍历的代码实现:
```java
public void DFS(int v, boolean[] visited) {
// 标记当前顶点为已访问
visited[v] = true;
System.out.print(v + " ");
// 遍历邻接表中与当前顶点相邻的未访问顶点
for (int i = 0; i < adjList.get(v).size(); i++) {
int u = adjList.get(v).get(i);
if (!visited[u]) {
DFS(u, visited);
}
}
}
```
其中,`v`表示起始顶点,`visited`数组表示每个顶点的访问状态(已访问为 true,未访问为 false)。首先将起始顶点 `v` 标记为已访问,并输出其值。然后遍历邻接表中与 `v` 相邻的所有未访问顶点,对每个未访问顶点递归调用 `DFS` 方法,直到所有顶点都被访问过为止。
阅读全文