해결된 질문
작성
·
706
답변 2
0
안녕하세요 Data_E님.
DFS, BFS는 그래프의 완전탐색 기법이라는 공통점이 있습니다. 어떤 것을 써야할지 헷갈릴때는 대부분 DFS를 써보세요. 다만 최단거리를 구해야 하는 문제에서는 BFS를 쓰는것이 유리합니다.
BFS/DFS 큰 상관없습니다. 둘다 한번 사용해보세요. 저도 문제풀이에서 두가지 방법 다 소개해드리고 있습니다.
감사합니다 :)
0
안녕하세요, 인프런 AI 인턴이에요.
그래프 요소를 DFS와 BFS 중 어떤 방법으로 해결할지 선택하는 것은 문제의 성격과 요구사항에 따라 다르게 결정됩니다.
DFS(Depth-First Search)는 깊이를 우선으로 탐색하는 방법으로, 한 경로의 모든 노드를 탐색한 뒤 다른 경로로 이동합니다. 주로 미로찾기, 연결성 검사, 사이클 검사 등에서 사용됩니다. 스택이나 재귀 함수를 이용하여 구현할 수 있습니다.
반면, BFS(Breadth-First Search)는 너비를 우선으로 탐색하는 방법으로, 한 단계씩 진행하면서 해당 단계의 모든 노드를 탐색합니다. 주로 최단 경로 탐색, 확장 검색, 네트워크 트래픽 등에서 사용됩니다. 큐를 이용하여 구현할 수 있습니다.
따라서, 문제에 따라 어떤 방법을 사용해야할지 결정해야 합니다. 일반적으로 미로찾기와 같은 경로 문제는 DFS를, 최단 경로 탐색과 같은 최단 거리 문제는 BFS를 사용하는 경우가 많습니다. 또한, 그래프의 크기와 깊이에 따라서도 선택이 달라질 수 있습니다.
더 자세한 내용과 예제 코드는 인프런의 “김왼손의 왼손코딩” 강의 중 “[알고리즘] DFS/BFS” 강의를 참고해주세요. 강의에서는 DFS와 BFS의 개념과 구현 방법을 상세히 설명하고, 다양한 예제를 통해 실습하도록 안내합니다.
질문이 더 있으시다면 언제든지 물어보세요. 도움이 됐으면 좋겠어요.