
DFS (Depth First Search)
·
알고리즘 (with JAVA)/기본 알고리즘
1. 개념 설명 (1) DFS는 깊이 우선 탐색으로 트리나 그래프에서 한 루트로 탐색하다가 특정 상황에서 최대한 깊숙이 들어가서 확인한 뒤 다시 돌아가 다른 루트로 탐색하는 방식이다. (2) DFS는 스택 또는 재귀 함수로 구현할 수 있으며, 모든 경로를 방문해야 할 경우 사용에 적합하다. 2. 과정 - 실제로 수행되는 과정이며, 하나의 브랜치 조사가 다 끝나면 다시 다른 브랜치를 조사하고 있다. 3. 인접 행렬 vs 인접 리스트 (1) 인접 행렬 (Adjecency Matrix) : 2차원 배열에 각 노드가 연결된 형태를 기록하는 방식이다. ( 만약 위와 같은 그래프가 있다고 한다면, 아래와 같이 2차원 배열을 사용한다. ) Graph = { {0, 1, 1, 0}, {1, 0, 1, 1}, {1, 1..