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 | 29 | 30 | 31 |
Tags
- Stack 이란
- 스택의 특징
- 1764
- 5397
- heap
- 백준
- 백준 17471
- 해시구현
- qorwns
- 버킷 정렬
- c#
- 백준 5397
- 해시 구현
- C/C++ 구현
- 백준 1158
- 별 찍기 10
- 시간 복잡도
- 원판 돌리기
- 게리멘더링2
- ㅣ풀이
- 백준 17779
- AVL 시간 복잡도
- dfs
- 조세퍼스 순열
- 자료구조
- 백준 17822
- 구현
- 백준 2447
- 풀이
- 백준 1406
Archives
- Today
- Total
홍시홍의 프로그래밍
[알고리즘] dfs(깊이 우선 탐색, 시간 복잡도, 사용하는 곳, 특징, 구현방법) 본문
개념
그래프 내에서 시작 정점 부터 원하는 정점까지 이동가능한지 알아보는 알고리즘이다
하나의 분기에 도달했다면 그 분기에 대해서는 탐색할 수 있는 모든 경로를 탐색하고 넘어가는 알고리즘이다
사용하는 곳
A에서 B로의 이동 가능 여부
전자회로에서 연결 여부
시간 복잡도
인접 행렬의 경우 O(n^2)
인접 리스트의 경우 O(n+m)
구현방법
백트래킹을 사용해 구현한다
특징
너무 깊을 경우에는 모든 정점을 다 깊게 탐색하므로 다른 알고리즘을 사용하는것이 현명하다
'알고리즘' 카테고리의 다른 글
[알고리즘] 플로이드 워셜(시간 복잡도, 사용하는 곳, 특징, 구현방법) (0) | 2020.06.11 |
---|---|
[알고리즘] 벨만포드 (특징, 시간복잡도, 구현 방법) (0) | 2020.06.11 |
[알고리즘] 프림 알고리즘(시간 복잡도, 구현방법, 특징) (0) | 2020.06.11 |
코사라주 알고리즘(시간복잡도, 구현 방법, 준비 사항) (0) | 2020.06.10 |
위상 정렬(사용하는 이유, 특징, 구현, 시간 복잡도) (0) | 2020.06.10 |
Comments