sm 기술 블로그

깊이 우선 탐색(DFS) 본문

자료구조 || 알고리즘

깊이 우선 탐색(DFS)

sm_hope 2022. 6. 28. 19:59

깊이 우선 탐색(DFS) -> 스택 사용 (재귀 이용 -> 재귀 자체가 스택임)

루트노드에서 시작해서 다음 분기로 넘어가기 전에 해당 분기를 완벽하게 탐색하는 방법

특징

  • 깊이 우선 탐색(DFS) 에 비해서 너비 우선 탐색(BFS)이 보다 좀 더 간단하다.
  • 어떤 노드를 방문했었는지 여부를 반드시 검사 해야 한다.

과정


결국 이동 순서는
0 -> 1 -> 2 -> 3 -> 4 -> 3 -> 2 -> 1 -> 0
다음과 같다.

시간 복잡도

인접 리스트로 표현된 그래프: O(N+E)
인접 행렬로 표현된 그래프: O(N^2)

'자료구조 || 알고리즘' 카테고리의 다른 글

백트래킹  (0) 2022.06.28
너비 우선 탐색(BFS)  (0) 2022.06.28
유클리드 호제법(최대공약수 구하기)  (0) 2022.06.25
좌표압축  (0) 2022.06.18
[알고리즘] 문자열 계산기(스택 없이)  (0) 2022.06.12
Comments