DFS(깊이 우선 탐색), BFS(너비 우선 탐색)

JJ Kim·2022년 7월 28일
2

알고리즘

목록 보기
2/2
post-thumbnail
  • DFS와 BFS는 그래프를 탐색하는 방법들로 코딩테스트에서 굉장히 자주나오고 유용하게 쓰이는 알고리즘이다.
    하지만 이해를 했다 싶어도 문제마다 적절히 응용하려니 늘 어려워서 검색 도움 없이 제대로 푼적이 별로 없다. 😥
    미로나 연결된 경로들을 보면 어느정도 느낌이 와서 조금 풀어볼만한데 응용해서 나오면 감이 오질 않는다 ...
    프로그래머스 뿐만 아니라 백준의 문제까지 많이 풀어보면서 꼭 내껄로 만들 필요가 있을 것 같다.

📢 아래에서 DFS와 BFS에 대해 자세히 알아보자 (정말 정말 중요 !! 💥) 📢

DFS(깊이 우선 탐색)란? 😲

출처: https://developer-mac.tistory.com/64


루트 노드(혹은 다른 임의의 노드)에서 시작해서 다음 분기(branch)로 넘어가기 전에 해당 분기를 완벽하게 탐색하는 방법으로 이러한 한 노드에서 제일 마지막 자식까지 탐색하고 돌아오는 과정을 백트래킹이라고 한다.
  • 구현 방법 : 스택이나 재귀함수(인접행렬)로 구현

BFS(너비 우선 탐색)란? 😵

출처: https://developer-mac.tistory.com/64


profile
소확행을 찾는 개발자

0개의 댓글