[Algorithm] DFS (깊이 우선 탐색) - 작성중

yooni·2022년 2월 9일
0
post-thumbnail

🧩 DFS (Depth First Search) 깊이 우선 탐색

트리형 자료구조를 탐색하는 알고리즘 방법 중 하나로, 모든 분기를 차례대로 완벽하게 방문하기 때문에 단순한 탐색보다는 순회에서 많이 쓰인다.

BFS (Breadth First Search) 너비 우선 탐색과 비교하여 적절한 탐색 알고리즘을 선택할 수 있어야 한다.

1. DFS 알고리즘의 특징

재귀함수로 구현하는 방법이 간편하다.
무한히 깊게 빠질 가능성이 있기 때문에 임의의 depth를 지정하여 탐색하는 것이 좋다.
BFS 보다 속도가 느릴 수 있다.
미로 게임 등 경로가 존재하는지 판별할 때 사용할 수 있다.


2. DFS 알고리즘의 시간복잡도

  • DFS의 시간복잡도 : 선형시간 O(N)

BFS에 비해 조금 느릴 수 있다.


3. 구현 코드 (javascript)

profile
멋쟁이 코린이

0개의 댓글