1260번: DFS & BFS (실버 2)
·
백준 (with JAVA)/그 외
1260번: DFS와 BFS (acmicpc.net) 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net 1. 문제 설명 2. 입출력 조건 및 예제 입력 조건 (1) 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. (2) 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. (3) 어떤 두 정점 사이에 여러 개의 간선이 있을 수 있으며, 입력으로 주어지는 간선은 양방향이..
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..