Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- react
- react-redux
- Algorithm
- 자바
- maeil-mail
- redux
- Get
- 항해99
- 매일메일
- 테코테코
- redux-saga
- java
- redux-toolkit
- programmers
- 이코테
- C++
- JavaScript
- 알고리즘
- axios
- react-router
- 프로그래머스
- 항해플러스
- 리액트
- 코딩테스트합격자되기
- createSlice
- SW
- json-server
- Python
- sw expert academy
- useDispatch
Archives
- Today
- Total
Binary Journey
[Algorithm] DFS (깊이 우선 탐색) 본문
반응형
** C++
#include <iostream>
#include <vector>
using namespace std;
int number = 7;
int visited[7];
vector<int> index[8];
void dfs(int x) { // stack 사용하지 않고 재귀함수 이용
if (visited[x]) return;
visited[x] = true;
cout << x << ' ';
for (int i = 0; i < index[x].size(); i++) {
int y = index[x][i];
dfs(y);
}
}
int main(void) {
index[1].push_back(2);
index[2].push_back(1);
index[1].push_back(3);
index[3].push_back(1);
index[2].push_back(3);
index[3].push_back(2);
index[2].push_back(4);
index[4].push_back(2);
index[2].push_back(5);
index[5].push_back(2);
index[4].push_back(5);
index[5].push_back(4);
index[3].push_back(6);
index[6].push_back(3);
index[3].push_back(7);
index[7].push_back(3);
index[6].push_back(7);
index[7].push_back(6);
dfs(1); // 시작점 1
return 0;
}
** Javascript
let visited = [];
let stack = new Array(8).fill([]);
function dfs(top) {
if (visited[top]) { // 모든 정점 방문 시
return;
}
visited[top] = true; // 방문 표시
console.log(top);
for (let i = 0; i < stack[top].length; i++) {
let y = stack[top][i];
dfs(y);
}
}
stack[1].push(2);
stack[2].push(1);
stack[1].push(3);
stack[3].push(1);
stack[2].push(3);
stack[3].push(2);
stack[2].push(4);
stack[4].push(2);
stack[2].push(5);
stack[5].push(2);
stack[3].push(6);
stack[6].push(3);
stack[3].push(7);
stack[7].push(3);
stack[4].push(5);
stack[5].push(4);
stack[6].push(7);
stack[7].push(6);
dfs(1);
반응형
'Algorithm > 알고리즘 스터디(2021.07)' 카테고리의 다른 글
[Algorithm] Kruskal Algorithm (크루스칼 알고리즘) (0) | 2021.09.12 |
---|---|
[Algorithm] Union-Find (합집합 찾기) (0) | 2021.09.12 |
[Algorithm] BFS (너비우선탐색) (0) | 2021.09.02 |
[Algorithm] Queue (큐) (0) | 2021.08.25 |
[Algorithm] Stack (스택) (0) | 2021.08.25 |