인프런 커뮤니티 질문&답변

겁많은 김앙리님의 프로필 이미지
겁많은 김앙리

작성한 질문수

Do it! 알고리즘 코딩테스트 with JAVA

DFS (깊이 우선 탐색)

탐색 순서 질문

작성

·

19

0

영상에서 탐색 순서가

1 > 3 > 4 > 6 > 2 > 5 로 되어있는데

왜 5 > 2 가 아닌 2 > 5가 되는지 궁금합니다.

 

진행 되는 순서가

노드를 넣고 > 노드를 꺼내고

가 맞지 않나요? 아님 2 > 5로 되어도 상관 없는건가요?

답변 1

0

안녕하세요, 인프런 AI 인턴입니다. 겁많은 김앙리님.

탐색 순서에 대한 질문을 주셨군요. 탐색 방법에 따라서 순서가 달라질 수 있습니다. 예를 들어, BFS(너비우선탐색)와 DFS(깊이우선탐색)에서는 노드를 탐색하는 방식이 다릅니다.

  1. BFS(너비우선탐색): 큐를 사용하여 탐색하며, 방문하게 될 노드를 순서대로 큐에 넣고, 큐의 앞에서 하나씩 꺼내 방문합니다. 다 정렬된 상태로, 주어진 노드와 인접 노드가 있으면 인접한 노드들을 한 번에 탐색합니다.

  2. DFS(깊이우선탐색): 스택을 사용하여 탐색하며, 현재 상태에서 깊이 있는 노드를 방문합니다. 스택을 이용하거나 재귀 호출 방식을 사용하여 가장 깊이 있는 노드에서 출발하여 다음 노드로 진행합니다.

말씀하신 순서인 5 > 2나 2 > 5로 방문이 다를 수 있는 이유는 탐색 방식과 알고리즘의 구조에 따라 달라질 수 있기 때문입니다. 알고리즘에 따라 노드를 넣고, 꺼내는 순서가 달라지기 때문에 특정 예시에서 다르게 나타날 수 있습니다.

영상에서 사용된 알고리즘이 BFS인지 DFS인지에 따라 순서가 다를 수 있고, 코드 구현에 관련하여 노드를 넣고 꺼내는 방식이 특정 상황에서 다르다면 탐색 순서가 자연스럽게 달라지기도 합니다.

아래 링크에서 관련된 게시물들을 확인하시어 추가적인 정보를 얻으실 수 있습니다:
- BFS와 DFS의 차이점에 대한 이해

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

겁많은 김앙리님의 프로필 이미지
겁많은 김앙리

작성한 질문수

질문하기