Seize your moment! ๐Ÿ‘พ

์•ˆ๋…•ํ•˜์„ธ์š”. Eric์ž…๋‹ˆ๋‹ค. ์ œ ๋ธ”๋กœ๊ทธ์— ๋ฐฉ๋ฌธํ•ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ’ป ๊ฐœ๋ฐœ๊ณต๋ถ€/Algorithm

[Eric's ๋ฐฑ์ค€] 1260๋ฒˆ - DFS ์™€ BFS - Java

Eric_ko 2023. 2. 3. 01:32

์•ˆ๋…•ํ•˜์„ธ์š”! Eric ์ž…๋‹ˆ๋‹ค

์˜ค๋Š˜์€ ๊ทธ๋ž˜ํ”„ ์ˆœํšŒ ๋ฌธ์ œ๋ฅผ ํ’€์–ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

dfs ๋ž‘ bfs ๋ฅผ

์ฃผ์–ด์ง„ ์˜ˆ์‹œ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ 

์ €๋Š” ์ง์ ‘ ๊ทธ๋ ค์„œ ๋ฌธ์ œ๋ฅผ ํ’€์–ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค.

ํ•˜๋‹จ์˜ ๋‘ ์‚ฌ์ง„ ์ค‘ ๊ฐ๊ฐ์ขŒ์ธก ๋ถ€๋ถ„์˜ ๊ทธ๋ฆผ์ด dfs ๋ฐฉ์‹์ด๋ฉฐ,

ํ•˜๋‹จ์˜ ๋‘ ์‚ฌ์ง„ ์ค‘ ๊ฐ๊ฐ ์šฐ์ธก ๋ถ€๋ถ„์ด Queue๋ฅผ ์ด์šฉํ•œ bfs ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.

 

 

 

์ฝ”๋“œ๊ตฌํ˜„

์ฝ”๋“œ๋ฅผ ๊ตฌํ˜„ํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค.

import java.io.*;
import java.util.LinkedList;
import java.util.Queue;
import java.util.StringTokenizer;
class N1260 {
static boolean[][] graph;
static boolean[] visited;
static int n, m, v;
static Queue<Integer> Q = new LinkedList<>();
public static void main(String[] args) throws IOException {
// 0. ์ž…๋ ฅ ๋ฐ ์ดˆ๊ธฐํ™”
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
n = Integer.parseInt(st.nextToken());
m = Integer.parseInt(st.nextToken());
v = Integer.parseInt(st.nextToken());
// 1. ๊ทธ๋ž˜ํ”„ ์ •๋ณด ์ž…๋ ฅ
graph = new boolean[n + 1][n + 1];
visited = new boolean[n + 1];
int x, y;
for (int i = 0; i < m; i++) {
st = new StringTokenizer(br.readLine());
x = Integer.parseInt(st.nextToken());
y = Integer.parseInt(st.nextToken());
graph[x][y] = graph[y][x] = true;
}
// 2. dfs ๋ฐ ๊ฒฐ๊ณผ ์ถœ๋ ฅ
dfs(v);
System.out.println();
visited = new boolean[n + 1];
// 3. bfs ๋ฐ ๊ฒฐ๊ณผ ์ถœ๋ ฅ
bfs(v);
br.close();
}
public static void dfs(int idx) {
visited[idx] = true;
System.out.print(idx + " ");
for (int i = 1; i <= n; i++) {
if (!visited[i] && graph[idx][i]) {
dfs(i);
}
}
}
public static void bfs(int idx) {
Q.offer(idx);
visited[idx] = true;
while (!Q.isEmpty()) {
idx = Q.poll();
System.out.print(idx + " ");
for (int i = 1; i <= n; i++) {
if (!visited[i] && graph[idx][i]) {
Q.offer(i);
visited[i] = true;
}
}
}
}
}
view raw N1260.java hosted with โค by GitHub

Solved.ac ํ”„๋กœํ•„