본문 바로가기
Study

DFS ( 깊이 우선 탐색 )

by ksb0511 2020. 5. 22.

DFS(Depth First Search) 깊이 우선 탐색은 말 그대로 한 가지 방향으로 깊숙히 들어가는 방법으로 탐색하는 것을 의미한다.

 

DFS는 재귀호출 혹은 스택 배열로 구현할 수 있다. 또한 이 구조 특성상 스택 오버플로우를 가장 주의해야 한다.

 

DFS 말고 다른 탐색 방법을 BFS 가 있는데, BFS는 간단히 말하자면 너비 우선 탐색이다. 둘다 탐색방법만 다르지 탐색 속도나 시간은 비슷할 거라 생각을 할 수 있는데, 단순 검색 속도로만 따지면, DFS가 비교적 더 빠르다.

 또한, 저장공간의 수요가 적은 편이다. 한 가지로 깊숙히 들어갔다가, 해당 경로가 아닐 시 쳐내는 탐색이기 때문에, 저장공간 차지가 BFS에 비해서 적다.

 

'Study' 카테고리의 다른 글

다이나믹 프로그래밍(Dynamic Programming)  (0) 2020.05.01
Stack, queue(스택, 큐)  (0) 2020.04.17

댓글