深度优先搜索模板

深度优先搜索模板

简介

深度优先搜索是一种遍历所有数据的方法,可以用在最短路径上

模板

岛屿的个数的BFS的方法

    private void BFS(boolean[][] grid, boolean[][] visited, Point p) {
        Queue<Point> queue = new LinkedList<>();
        queue.offer(p); // 加入初始化节点
        
        while (!queue.isEmpty()) {
            Point point = queue.poll(); // 获得下一节点
            int x = point.x;
            int y = point.y;
            for (int i = 0; i < dy.length; i++) {
                int newX = x + dx[i];
                int newY = y + dy[i]; //获得邻居节点
                // 查看邻居节点是否可行
                if (isVaild(newX, newY, visited, grid)) { 
                	// 走到邻居节点
                    visited[newX][newY] = true;
                    queue.offer(new Point(newX, newY));
                }
            }
        }
    }

例题

733. 图像渲染

695. 岛屿的最大面积

上一篇:【codevs3411】洪水


下一篇:(2021-5)搜索类题目(bfs dfs)-计算水洼数量 c++