[์•Œ๊ณ ๋ฆฌ์ฆ˜] DFS, BFS์˜ ๊ตฌํ˜„

2020. 10. 13. 21:20ยท ์•Œ๊ณ ๋ฆฌ์ฆ˜

๋‹ค๋ฅธ ๋ธ”๋กœ๊ทธ์—์„œ dfs์™€ bfs๋ฅผ ์„ค๋ช…ํ•˜๋Š” ๊ธ€์ด ๋งŽ์ง€๋งŒ dfs๋ฅผ ์žฌ๊ท€๋กœ๋งŒ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋Œ€๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค.  ์žฌ๊ท€์˜ ์‚ฌ์šฉ์€ ์Šคํƒ์˜ ์‚ฌ์šฉ๊ณผ ๋™์ผํ•˜์—ฌ ๊ทธ๋ ‡๊ฒŒ ํ•ด๋„ ๋˜์ง€๋งŒ, ์Šคํƒ๋งŒ์œผ๋กœ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ํฌ์ŠคํŒ…ํ•˜๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. (์ฃผ์„ ์ฐธ๊ณ )

 

#include<iostream>
#include<vector>
#include<queue>
#include<cstring>
#include<stack>

using namespace std;

int N, M, V;
vector<int> v[1001];
bool check[1001] = { false };

void dfs(int s) {
	
	check[s] = true;
	cout << s << " ";
	vector<int> vec = v[s];

	for (int i = 0; i < vec.size(); i++) {
		if (!check[vec[i]]) {
			dfs(vec[i]);
		}
	}

}
/*
void dfs_stack(int s) {
	stack<int> stack;
	check[s] = true;
	stack.push(s);
	cout << s << " ";
	
	while (!stack.empty()) {
		int n = stack.top();

		vector<int> vec = v[n];
		for (int i = 0; i < vec.size(); i++) {
			if (!check[vec[i]]) {
				check[vec[i]] = true;
				cout << vec[i] << " ";
				stack.push(vec[i]);
				break;
			}
			else if (i == vec.size() - 1) {
				stack.pop();
			}
		}
	}
}
*/

void bfs(int s) {

	queue<int> q;
	check[s] = true;
	q.push(s);
	cout << s << " ";

	while (!q.empty()) {
		int n = q.front();
		q.pop();

		vector<int> vec = v[n];
		for (int i = 0; i < vec.size(); i++) {
			if (!check[vec[i]]) {
				check[vec[i]] = true;
				cout << vec[i] << " ";
				q.push(vec[i]);
			}
		}
	}

}

int main(void) {

	int a, b;
	cin >> N >> M >> V;

	/*using list*/
	for (int i = 0; i < M; i++) {
		cin >> a >> b;
		v[b].push_back(a);
		v[a].push_back(b);
	}

	dfs(V);
	cout << endl;
	memset(check, false, sizeof(check));
	bfs(V);
	
	

	return 0;
}

'์•Œ๊ณ ๋ฆฌ์ฆ˜' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[BOJ ๋ฐฑ์ค€ 11051] ์ดํ•ญ๊ณ„์ˆ˜ 2 with python  (0) 2021.06.09
ํฐ ์ˆ˜์˜ ๋ง์…ˆ  (0) 2021.06.09
10816 ์ˆซ์ž ์นด๋“œ 2  (0) 2020.08.05
1051๋ฒˆ: ์ˆซ์ž ์ •์‚ฌ๊ฐํ˜•  (0) 2020.08.05
๋ฐฑ์ค€ 1012 ์œ ๊ธฐ๋† ๋ฐฐ์ถ” (์ž๋ฐ”)  (0) 2020.07.27
'์•Œ๊ณ ๋ฆฌ์ฆ˜' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [BOJ ๋ฐฑ์ค€ 11051] ์ดํ•ญ๊ณ„์ˆ˜ 2 with python
  • ํฐ ์ˆ˜์˜ ๋ง์…ˆ
  • 10816 ์ˆซ์ž ์นด๋“œ 2
  • 1051๋ฒˆ: ์ˆซ์ž ์ •์‚ฌ๊ฐํ˜•
๊น€ํƒœ์ง„
๊น€ํƒœ์ง„
์„ฑ์žฅํ•˜๊ธฐ ์œ„ํ•œ ๊ธ€์„ ์ž‘์„ฑํ•˜๋ ค๊ณ  ๋…ธ๋ ฅ์ค‘ ์ž…๋‹ˆ๋‹ค
๊น€ํƒœ์ง„
My Dev History๐Ÿ’ป
๊น€ํƒœ์ง„
์ „์ฒด
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (131)
    • ํŒŒ์ด์ฌ (8)
    • ์•Œ๊ณ ๋ฆฌ์ฆ˜ (24)
    • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ (13)
      • ํ”„๋กœ์ ํŠธ (6)
      • ์ด๋ก  (6)
    • html&css (3)
    • css (6)
    • TIL (6)
    • react (15)
    • ํšŒ๊ณ  (5)
      • ์ฃผ๊ฐ„ํšŒ๊ณ  (2)
    • ๊ฐ•์˜ ์ •๋ฆฌ (3)
      • ์ฝ”๋“œ์ž‡ ๋ฆฌ์•กํŠธ ๊ฐ•์˜ ๋ชจ์Œ (3)
    • ์˜ค๋ฅ˜๋กœ๊ทธ (4)
    • ํ”„๋กœ์ ํŠธ (15)
    • ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ (2)
    • Computer Science (4)
      • ๋จธ์‹ ๋Ÿฌ๋‹ (3)
      • ์ปดํ“จํ„ฐ๋„คํŠธ์›Œํฌ (1)
    • ์˜คํ”ˆ์†Œ์Šค (3)
    • ์›น (1)
    • ์ฝ”๋“œ๊ฐœ์„  (1)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ํ™ˆ
  • ํƒœ๊ทธ
  • ๋ฐฉ๋ช…๋ก

๊ณต์ง€์‚ฌํ•ญ

์ธ๊ธฐ ๊ธ€

ํƒœ๊ทธ

  • Flappy game
  • Object
  • css property
  • white-space
  • ์˜คํ”ˆ์†Œ์Šค
  • prototype
  • initial value
  • canvas api
  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ
  • ๋ฆฌ์•กํŠธ
  • react icons
  • ํ”„๋ก ํŠธ์—”๋“œ
  • ์ƒ์†
  • redux
  • CSS
  • Recoil
  • ๊ฐœ๋ฐœ์ž
  • ์˜คํ”ˆ์†Œ์Šค ๊ธฐ์—ฌ
  • react
  • javascript
  • ๊ฒŒ์ž„
  • ๊ณต์‹๋ฌธ์„œ
  • game

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

hELLO ยท Designed By ์ •์ƒ์šฐ.v4.2.2
๊น€ํƒœ์ง„
[์•Œ๊ณ ๋ฆฌ์ฆ˜] DFS, BFS์˜ ๊ตฌํ˜„
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”

๋‹จ์ถ•ํ‚ค

๋‚ด ๋ธ”๋กœ๊ทธ

๋‚ด ๋ธ”๋กœ๊ทธ - ๊ด€๋ฆฌ์ž ํ™ˆ ์ „ํ™˜
Q
Q
์ƒˆ ๊ธ€ ์“ฐ๊ธฐ
W
W

๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๊ธ€

๊ธ€ ์ˆ˜์ • (๊ถŒํ•œ ์žˆ๋Š” ๊ฒฝ์šฐ)
E
E
๋Œ“๊ธ€ ์˜์—ญ์œผ๋กœ ์ด๋™
C
C

๋ชจ๋“  ์˜์—ญ

์ด ํŽ˜์ด์ง€์˜ URL ๋ณต์‚ฌ
S
S
๋งจ ์œ„๋กœ ์ด๋™
T
T
ํ‹ฐ์Šคํ† ๋ฆฌ ํ™ˆ ์ด๋™
H
H
๋‹จ์ถ•ํ‚ค ์•ˆ๋‚ด
Shift + /
โ‡ง + /

* ๋‹จ์ถ•ํ‚ค๋Š” ํ•œ๊ธ€/์˜๋ฌธ ๋Œ€์†Œ๋ฌธ์ž๋กœ ์ด์šฉ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ํ‹ฐ์Šคํ† ๋ฆฌ ๊ธฐ๋ณธ ๋„๋ฉ”์ธ์—์„œ๋งŒ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.