[알고리즘] DFS (깊이 우선 탐색)
·
🤔알고리즘
DFS ( 깊이 우선 탐색 ) 깊이 우선 탐색은 루트 노드(혹은 임의의 노드)에서 시작해서 다음 분기로 넘어가기 전에 해당 분기에 대한 탐색을 완전히 끝내고 다음 분기로 넘어가는 방식의 탐색을 의미한다. 가능한 한 방향으로 깊게 내려가며 노드를 탐색한다. DFS의 동작 방식시작 노드 선택탐색을 시작할 노드를 선택방문 및 기록현재 노드를 방문하고, 방문을 기록( 중복 방문 방지)자식 노드 탐색현재 노드에 연결된 인접 노드 중 아직 방문하지 않은 노드가 있다면 그 노드로 이동하여 탐색 진행백트랙킹더 이상 탐색을 진행할 수 없는 경우(현재 노드의 인접 노드를 모두 방문) 이전 단계의 노드로 되돌아감이 과정을 반복하며 탐색을 진행탐색 종료모든 노드를 탐색했거나, 특정 조건을 만족하는 노드를 찾은 경우 탐색을 종..