1. 首页
  2. 课程学习
  3. Java
  4. 深度优先搜索算法及Java代码示例

深度优先搜索算法及Java代码示例

上传者: 2024-04-12 11:19:09上传 DOCX文件 18.28KB 热度 56次

本文介绍深度优先搜索(DFS)算法的定义及Java代码示例。DFS是一种用于遍历或搜索树或图的算法,其核心思想是尽可能深地搜索树的分支,直到不能再继续为止,然后返回上一层并继续搜索其他分支。DFS通常使用栈来实现,通过递归或迭代方式实现搜索过程。下面是一个简单的Java代码示例,展示了如何使用DFS来搜索图或树的节点:

public class DFS {
    public void dfs(int[][] graph, int start) {
        boolean[] visited = new boolean[graph.length];
        dfsUtil(graph, start, visited);
    }

    private void dfsUtil(int[][] graph, int vertex, boolean[] visited) {
        visited[vertex] = true;
        System.out.print(vertex + " ");
        for (int i = 0; i < graph.length; i++) {
            if (graph[vertex][i] == 1 && !visited[i]) {
                dfsUtil(graph, i, visited);
            }
        }
    }
}
用户评论