[알고리즘] 깊이 우선 탐색 DFS (Java)


[알고리즘] 깊이 우선 탐색 DFS (Java)

깊이 우선 탐색 DFS 그래프 탐색 알고리즘 중 하나입니다. 깊이 우선 탐색 DFS(Depth First Search)는 탐색 과정에서 깊은 것을 우선적으로 탐색하는 알고리즘입니다. 깊이 우선 탐색은 모든 노드를 방문하고자 하는 경우에 사용됩니다. 깊이 우선 탐색에서는 스택 구조가 사용되며 재귀 형식으로도 표현할 수 있습니다. 먼저 그림으로 DFS 과정을 확인해 보겠습니다. 시작점 1을 시작으로 인접 노드 중 좌측 노드인 2를 방문합니다. 노드 2에서 인접 노드 중 방문하지 않은 노드 3을 방문합니다. (한번 방문한 노드는 재방문 하지 않습니다.) 노드 3에서 방문하지 않은 인접 노드가 없으므로 노드 2로 되돌아갑니다. 노드 2에서 방문하지 않은 노드 4를 방문합니다. 노드 4에서 방문하지 않은 인접 노드가 없으므로 노드 2로 되돌아갑니다. 노드 2또한 인접 노드를 모두 방문했으므로 노드 1로 돌아갑니다. 노드 1에서 방문하지 않은 인접 노드 노드 5를 방문합니다. 노드 5에서 좌측...


#DFS #깊이우선탐색 #알고리즘 #탐색

원문링크 : [알고리즘] 깊이 우선 탐색 DFS (Java)