深度优先搜索模板
简介
深度优先搜索是一种遍历所有数据的方法,可以用在最短路径上
模板
岛屿的个数的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));
}
}
}
}