본문 바로가기

알고리즘

[DFS][BFS] DFS와 BFS 개념정리

DFS / BFS 

깊이 / 너비 우선 우선탐색 알고리즘 => 모든 개체들 중 특정 개체를 찾기 위한 알고리즘

  • 경로탐색 유형 (최단거리 / 시간)
  • 네트워크 유형 (연결)
  • 조합 유형 (모든 조합 만들기)

 

DFS, BFS 중 익숙한 것을 사용하면 된다. 

단, 연습할 때는 DFS, BFS 모두 활용해보기

DFS 

  • 재귀로 구현
  • 내가 짠 알고리즘의 검증이 쉽다.
  • 시간 복잡도는 복불복

BFS

  • Queue, LinkedList로 구현
  • 시간복잡도가 낮다.

 

참고 : 

https://www.youtube.com/watch?v=BsYbdUnKZ-Y