• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

탐색에서 BFS,DFS 어떻게 구분하여 문제푸나여

21.07.25 18:36 작성 조회수 730

2

DFS는 백트레킹이 이고

BFS 없다

이게 구분점인가요? 둘다 탐색인데 

DFS와 다르게 BFS에서 또 Queue를 사용한 이유는 뭔가요??

답변 1

답변을 작성해보세요.

0

안녕하세요^^

문제가 어떤 경우의 수를 구한다거나 하면 DFS를 사용하고, 최단거리, 또는 최소횟수를 구하라는 문제는 BFS를 사용한다고 보시면 좋습니다. 이런 느낌은 문제를 많이 접하면서 차즘 알게됩니다. 

아마 아래 문제 송아지 찾기를 공부하게 되면 BFS를 쓰는 상황을 좀 알게될겁니다. BFS가 큐를 쓰는 이유는 먼저 들어간게 먼저나오는 큐자료구조를 써야 트리에서 레벨탐색이 되기 때문입니다. 레벨탐색을 해야 하는 이유는 아래  송아지찾기 문제를 공부하시면 느낌이 올겁니다.